J'ai une sélection qui extrait une colonne (jobTitle) de la base de données, et j'essaie de l'afficher dans une autre sélection html, en sélectionnant une autre colonne (company_name), mais seulement les valeurs liées à la première sélection html.
Je ne reçois pas d'erreur. La première valeur de sélection html est transmise, mais pour une raison quelconque, elle n'est pas sélectionnée dans la base de données sur cette base dans la deuxième sélection.
Je pense que le problème vient de ma deuxième requête SQL.
P.S. Si quelqu'un connaît un moyen plus efficace de faire cela, je serais très reconnaissant de le découvrir.
PHP ET 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);
}
})
});