J'ai une base de données mysql où j'aimerais utiliser la saisie semi-automatique. Jusqu'à présent, je suis en mesure de recevoir les résultats de la requête. Par exemple ceci est le résultat: [{"LNAME":"Napoleon","id":"1"}]
Mais je veux le id
du client dans ce cas à remplir dans un autre champ de saisie de mon formulaire. (donc dans le cas de Napoleons je veux que le "1" soit rempli dans mon champ clienteID
du formulaire) Au moment où le champ n'est pas mis à jour.JQUERY autocomplete obtenir l'ID au lieu de la valeur
est ici la partie HTML:
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.autocomplete.js"></script>
<script>
$(document).ready(function(){
$("#tag").autocomplete("autocomplete.php", {
minLength: 3,
select: function(event, ui) {
$('#clienteId').val(ui.item.id);
},
});
});
</script>
<form name='form_update_details' id='form_update_details' method='post' action=''>
<input type='text' name='clienteName' id='tag'>
<input type='text' name='clienteId' id='clienteId'>
</form>
Ensuite, la partie php:
<?php
include("include/db.php");
$q=$_GET['q'];
$my_data=mysql_real_escape_string($q);
$sql="SELECT ID, CONTACTS_LNAME, CONTACTS_FNAME FROM CRM_CONTACTS WHERE CONTACTS_LNAME LIKE '%$my_data%' or CONTACTS_FNAME LIKE '%$my_data%' ORDER BY CONTACTS_LNAME";
$result = mysqli_query($coni,$sql) or die(mysqli_error());
if($result)
{
while($row=mysqli_fetch_array($result))
{
$data[] = array(
'LNAME' => $row['CONTACTS_LNAME'],
'id' => $row['ID']
);
}
echo json_encode($data);
flush();
}
?>
merci! travaillé parfaitement !!! – Sven
Ça sonne bien :) –
Ok, bien que cela fonctionne maintenant, je reçois tout le temps tous les résultats de ma base de données lors de la saisie dans le champ du projet. Il semble que la recherche ne soit plus restreinte. – Sven