3
データベースから列(jobTitle)をエコーアウトしている選択を持っています。別のhtml selectで表示しようとしていますが、別の列(company_name)最初のhtml選択に関連しています。MYSQL HTMLベースの選択オプション
私は間違いをしていません。最初のhtml選択値は渡されていますが、何らかの理由で2番目の選択の値に基づいてdbから選択していません。
問題は私の2番目のSQLクエリであると思っています。
P.誰かがこれを行うより効果的な方法を知っていれば、私は最も感謝して見つけます。
PHP & HTML:
<select name="jobtitle_select" class="jobtitle_select">
<option class="" name="" value="" >-- Job title --</option>
<?php
$sql = $dbh->prepare("SELECT * FROM jobs_list");
if($sql->execute()) {
$sql->setFetchMode(PDO::FETCH_ASSOC);
}
while($row = $sql->fetch()) {
$jobTitle = $row['jobTitle'];
echo "<option class='' name='' value='$jobTitle' > $jobTitle </option>";
} // end of while // ?>
</select>
<?php
$jobtitle_select = $_POST['jobtitle_select'];
if ($jobtitle_select){
$sql = $dbh->prepare("SELECT * FROM jobs_list WHERE company_name = :jobtitle_select");
$sql->bindParam(':jobtitle_select', $jobtitle_select, PDO::PARAM_STR);
if($sql->execute()) {
$sql->setFetchMode(PDO::FETCH_ASSOC);
}
?>
<select class="company_name_select" >
<option class="" name="" value="" >-- Company name --</option>
<?php while($row = $sql->fetch()) {
$company_name = $row['company_name'];
echo "<option class='' name='' value='$company_name'> $company_name </option>";
} // end of while //
}?> <!-- end of if -->
</select>
のjQuery:
$('.jobtitle_select').change(function(){
$.ajax({
//create an ajax request to load_page.php
type: "POST",
data:$('.jobtitle_select'),
dataType: "html", //expect html to be returned
success: function(date){
$('.company_name_select').html(date);
}
})
});
私はドン」私は同じページに送信している場合は、URLが必要です。 defactt ajaxはそれを同じページに送ります。 – bob
上記のコードを一緒に入れて動作させました。同じページに呼び出しを送る場合、 'success'関数は'
良い点、私はこの構造を試しましたが、2番目のhtml選択は、最初の変更時にエラーが発生していません – bob