DonRuca
Messages postés2Date d'inscriptionvendredi 9 novembre 2018StatutMembreDernière intervention30 novembre 2018
-
Modifié le 9 nov. 2018 à 09:36
DonRuca
Messages postés2Date d'inscriptionvendredi 9 novembre 2018StatutMembreDernière intervention30 novembre 2018
-
30 nov. 2018 à 21:29
Bonjour,
j'essaye de faire un autocomplete dans un résultat d'un query MySql mais malheureusement cela ne fonctionne pas et vu mon niveau en programmation je suis un peu perdu :)
Bref après quelques jours de recherche un peu partout je ne trouve pas solution à mon problème et espère que vous puissiez m'aider.
D'avance merci pour votre aide
Voici mon souci:
Je fais afficher une liste de circuits (requête mysql) où j'aimerais que chaque pilote puisse choisir un numéro de moto pour un circuit donné, les circuits ont bien sûr des ID différents.
J'aimerais que l'autocomplete fonctionne pour chaque ID "numero_moto" et je dois aussi récupérer l'ID du circuit pour vérification si le numéro est disponible pour ce circuit en particulier mais je n'y arrive pas.
L'autocomplete fonctionne très bien pour un seul circuit mais pas s'il y en a plusieurs.
Je me suis basé sur un exemple trouvé sur le web pour l'autocomplete que voici:
function autocomplet(i) {
var keyword = $("#numero_moto+i").val();
$.ajax({
url: "ajax_refresh.php",
type: "POST",
data: {keyword:keyword},
success:function(data){
$("#choix_nummoto_id+i").show();
$("#choix_nummoto_id+i").html(data);
}
});
}
// set_item : this function will be executed when we select an item
function set_item(item) {
// change input value
$("#choix_nummoto_id+i").val(item);
// hide proposition list
$("#choix_nummoto_id+i").hide();
}
ajax_refresh.php
// PDO connect *********
function connect() {
return new PDO('mysql:host=host_db;dbname=db_name', 'user', 'password', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}
$pdo = connect();
$keyword = '%'.$_POST['keyword'].'%';
$sql = "SELECT * FROM {$tb_inscription} WHERE nummoto_tb_inscription_circuit LIKE (:keyword) ORDER BY nummoto_tb_inscription_circuit ASC LIMIT 0, 10";
$query = $pdo->prepare($sql);
$query->bindParam(':keyword', $keyword, PDO::PARAM_STR);
$query->execute();
$list = $query->fetchAll();
foreach ($list as $rs) {
// put in bold the written text
$liste_nummoto = str_replace($_POST['keyword'], '<b>'.$_POST['keyword'].'</b>', $rs['nummoto_tb_inscription_circuit']);
// add new option
echo '<li onclick="set_item(\''.$rs['nummoto_tb_inscription_circuit'].'\')">'.$liste_nummoto.'</li>';
}
A voir également:
Autocomplete dans boucle généré par un résultat requête