Bonjour à tous, j'ai un petit script PHP qui me permet de chercher dans ma base MySQL voir si un nom y est présent, mon code detecte bien cela mais je n'arrive pas du tout a afficher le nom qui ressort de la base de donnée, par exemple si je tape "ga" j'aimerais qu'il me ressorte tous les noms commençant par ça. Mon problème se tourne donc vers l'affichage des résultats, le code en lui meme fonctionne, merci.
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 <?php // database settings $Host = 'localhost'; $User = 'root'; $Pass = ''; $Base = 'annuaire'; // mysql table : $Table = 'u557'; // field used for search $champ = 'Nom'; // number of chars to display $NB_carac = 100; ?> <form method="post" action="<?=$PHP_SELF?>"> <input type="text" name="Psearch"><br /> <input type="submit" value="Search"> </form> <br /> <?php if(isset($_POST['Psearch']) && !empty($_POST['Psearch'])) { mysql_connect($Host, $User, $Pass); mysql_select_db($Base); $search = trim($_POST['Psearch']); $T = explode(' ', $search); $count = count($T); // build sql request if($count > 1) { $s = " $champ LIKE '%$search%' "; for($i=0; $i<$count; $i++) { if(empty($T[$i])) continue; $s .= " OR $champ LIKE '%$T[$i]%' "; $Ns[] = $T[$i]; } } else { $s = " $champ LIKE '%$search%' "; $Ns[] = $search; } $Requete = "SELECT $champ from $Table WHERE $s"; $Env = mysql_query($Requete) or die (mysql_error()); if(mysql_num_rows($Env) == 0) $Error = 'No results'; else $Error = FALSE; echo $Error; echo '<table border="1">'; $i = 1; while ($O = mysql_fetch_row($Env)) { echo '<tr><td>'; echo "<u>Results $i</u> <br /><br />"; $Nom = $row[0]; echo "<tr>\n <td>$Nom</td>\n </tr>\n"; echo '</td></tr>'; } echo '</table><br />'; } ?>
Partager