同様の質問をする前に質問する人もいますが、私の問題に答える人はいません。ajaxとphpについて質問があります。どちらも比較的初心者です。
私がやろうとしているのは、いわゆるチェーン選択ボックスです。2つのドロップダウンメニューが欲しいのですが。最初の値から値を選択すると、2番目のドロップダウンメニューにmysqlデータベースから値が入力されます。
この目的のために、私はjquery、ajax、php、およびmysqlを使用します。
私はいくつかの例をオンラインで見つけようとしていましたが、それらはすべて私にはかなり複雑に見えます(私は初心者だからだと思います)。
私は自分で何かを作ることに決めましたが、私は積み重なってしまいました。論理が正しいかどうかわかりません。
だからここに行きます(ここには関連するコードだけを含めます):
jqueryを使用して、ajaxリクエストを送信します。
$("#loc").change(function(){
var val = ($('#loc').val());
$.ajax({
type:'POST',
url:'query.php',
data: {val:val},
success:function(response){
$("#x").html(response);
} });
});
「loc」は最初のドロップダウンメニューのIDです。値を取得してquery.phpに送信します
query.phpには、次のコード行があります。
<?php
include('connect.php');
$area = $_POST['val'];
$query ="SELECT DISTINCT activity FROM main ORDER BY 1 where n_city='$area'";
$result = mysqli_query($dbcon, $query) or die('no available data');
$options="";
while ($row=mysqli_fetch_array($result, MYSQLI_ASSOC)){
$activity=$row["activity"];
}
?>
今、私は2つのことを理解しようとしています。1)クエリの結果が入力されたフォームを取得するには、success関数で何を返す必要がありますか?2)次に、最も重要なのは、私の考えが実際に正しいのか、それとも私が見逃している論理的な間違いがあるのかということです。
どうもありがとう。ディミトリス