Autocomplete et base de données
Bonjour,
Après des heures de recherches infructueuses, puis-je vous demander votre aide pour le problème suivant?
J'ai 3 input avec autocomplete dans un formulaire. Tout fonctionne très bien.
Pour l'un deux ( recherche d'un lieu dans une table de ma bdd), j'aimerais automatiquement alimenter 3 autres champs ( adresse, code postal et ville) suivant la valeur que l'utilisateur aura sélectionné (nom du bâtiment) dans les résultats de l'autocomplete.
Voici le bout de code actuel qui ne fonctionne pas.
index.php
Code:
1 2 3 4 5 6 7 8 9 10 11
| $(function() {
$("#pickup").autocomplete({
source: 'search_lieux.php',
minLength: 2,
select: function(event, ui) {
$('#pickupadresse').val(ui.item.adresse);
$('#pickupcp').val(ui.item.cp);
$('#pickupville').val(ui.item.ville);
}
});
}); |
et plus loin
Code:
1 2 3 4 5 6 7 8
| <tr><td align="left" colspan="2"><input type="text" name="pickup" id="pickup" class="focus" value="" size="30" placeholder="Pick up" /></tr>
<tr>
<td colspan="2"><input type="text" name="pickupadresse" id="pickupadresse" value="" size="30" disabled="disabled" /></td>
</tr>
<tr>
<td><input type="text" name="pickupcp" id="pickupcp" value="" size="6" disabled="disabled" /></td>
<td><input type="text" name="pickupville" id="pickupville" value="" size="14" disabled="disabled" /></td>
</tr> |
search_lieux.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'madatabase';
try {
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
}
catch(PDOException $e) {
echo $e->getMessage();
}
$return_arr = array();
if ($conn){
$ac_term = "%".$_GET['term']."%";
$query = "SELECT * FROM lieux where Lieux_Nom like :term";
$result = $conn->prepare($query);
$result->bindValue(":term",$ac_term);
$result->execute();
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$row_array['adresse'] = $row['Lieux_Adresse'];
$row_array['cp'] = $row['Lieux_CP'];
$row_array['ville'] = $row['Lieux_Ville'];
array_push($return_arr,$row_array);
}
}
$conn = null;
echo json_encode($return_array);
?> |
Une âme charitable pour sortir de ce problème?