Bonsoir à tous,
J'ai un formulaire qui me liste des contacts. J'utilise l'autocomplétation. En gros, lorsque je tape par exemple : Mo, le champ Texte m'affiche tous les noms etprénom (dans une infobulle) qui contiennent Mo pour faciliter la saisie.
Jusque là, je n'ai pas de problème par requête SQL s'effectue bien...
Le souci est que je voudrai en dessous de mon formulaire, un tableau qui s'affiche avec plus de détail : Nom, prénom, adresse mail, etc... en fonction de ma saisie dans mon champs texte.
Je pense que mon souci vient du deuxième fichier : rpc.php
Si quelqu'un pouvait me donner un tuyau... Merci par avance.
Fichier : index.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Rerchercher un contact</title> <script type="text/javascript" src="jquery-1.2.1.pack.js"></script> <script type="text/javascript"> function lookup(inputString) { if(inputString.length == 0) { // Hide the suggestion box. $('#suggestions').hide(); } else { $.post("rpc.php", {queryString: ""+inputString+""}, function(data){ if(data.length >0) { $('#suggestions').show(); $('#autoSuggestionsList').html(data); } }); } } // lookup function fill(thisValue) { $('#inputString').val(thisValue); setTimeout("$('#suggestions').hide();", 200); } </script> <style type="text/css"> body { font-family: Helvetica; font-size: 11px; color: #000; } h3 { margin: 0px; padding: 0px; } .suggestionsBox { position: relative; left: 30px; margin: 10px 0px 0px 0px; width: 200px; background-color: #212427; -moz-border-radius: 7px; -webkit-border-radius: 7px; border: 2px solid #000; color: #fff; } .suggestionList { margin: 0px; padding: 0px; } .suggestionList li { margin: 0px 0px 3px 0px; padding: 3px; cursor: pointer; } .suggestionList li:hover { background-color: #659CD8; } </style> </head> <body> <div> <form id="search"> <div> <label for="search-text">Rechercher un contact</label> <br /> <input type="text" size="30" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" /> </div> <div class="suggestionsBox" id="suggestions" style="display: none;"> <img src="upArrow.png" style="position: relative; top: -12px; left: 30px;" alt="upArrow" /> <div class="suggestionList" id="autoSuggestionsList"> </div> </div> </form> </div> </body> </html>
Fichier : rpc.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
34
35
36
37
38
39
40 <?php header('Content-Type: text/html; charset=ISO-8859-1'); $db = new mysqli('localhost', 'root' ,'', 'bdcontact'); if(!$db) { echo 'Erreur : impossible de se connecter à la base'; } else { if(isset($_POST['queryString'])) { $queryString = $db->real_escape_string($_POST['queryString']); if(strlen($queryString) >0) { $query = $db->query("SELECT nom,prenom FROM tadherents WHERE CONCAT(nom,' ',PRENOM) LIKE '%$queryString%' LIMIT 10"); if($query) { while ($result = $query ->fetch_object()) { echo '<li onClick="fill(\''.$result->nom." ".$result->prenom.'\');">'.$result->nom.' '.$result->prenom.'</li>'; } } else { echo 'problème de requête'; } } else { } } else { echo 'erreur'; } } ?>
Partager