ユーザーがオプションを選択してから[移動]をクリックする場所をHTMLで選択します。次に実行したいのは、最初の選択で選択したオプションに基づいて、mysqlデータベースから受信したデータが入力された別のデータを表示することです。
クエリを実行する場所でコードを動作させてデータを取得し、ajax呼び出しで成功します。問題は、返されるデータをフォーマットして、htmlselectにデータを入力できるようにする方法がわからないことです。配列に返されたjsonからの結果を解析する必要があると考えました。この配列を使用して、各値で選択オプションを出力できます。ただし、これを行う方法がわかりません。または誰かがより良い提案を持っているなら助けてください。
process.php
<?php
$pdo = new PDO("mysql:host=localhost;dbname=sales_rep", "root", "");
$country = $_POST['q'];
$stmt = $pdo->prepare("
SELECT DISTINCT state_prefix
FROM zips
WHERE country = '$country'
ORDER BY state_prefix ASC
LIMIT 50");
if($stmt->execute()){
echo json_encode($stmt->fetchAll( PDO::FETCH_OBJ ));
} else {
echo "query fail";
}
?>
rep.js
$('#country').submit(function(event) {
event.preventDefault();
/*clear result div*/
$("#result").html('');
var values = $(this).serialize();
$.ajax({
url: "process.php",
type: "post",
data: values,
dataType: 'json',
success: function(response){
console.log(response);
},
error:function(){
alert("failure");
$("#result").html('there is error while submit');
}
});
});