У меня есть выбор, который выводит столбец (jobTitle) из базы данных, при изменении Я пытаюсь отобразить в другом html select, выбирая другой столбец (имя_компании), но только значения связанные с первым выбором html.MYSQL Выбрать на основе опции выбора HTML
У меня нет ошибок. Первое значение выбора html передается, но по какой-то причине он не выбирает из db на основе этого во втором выборе.
Я думаю, что проблема связана с моим вторым sql-запросом.
P.S Если кто-нибудь знает более эффективный способ сделать это, я был бы очень благодарен, чтобы это выяснить.
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);
}
})
});
Я не» t нужен url, если я отправляю его на ту же страницу. по defualt ajax отправляет его на ту же страницу. – bob
Выше я положил часть вашего кода вместе, чтобы заставить его работать. Если вы хотите отправить вызов на ту же страницу, функция 'success' неверна, потому что она загружает всю страницу в ваш'
Хорошая точка, я пробовал эту структуру, но второй выбор html не заселен при изменении первого, нет ошибок – bob