|
camy 40
| Posté : 09-07-2003 15:57
Salut !!
Je souhaite faire un moteur de recherche par les lettres de l'alphabet.
Qd l'utilisateur clique sur 'A', une nouvelle page affiche toutes les coordonnées des noms commencant par A.
Voici mon code :
<HTML>
<HEAD>
<TITLE>Recherche alphabetique</TITLE>
</HEAD>
<BODY>
<form method="post" action="betique.php3">
<CENTER>
<b><a href="http://localhost/betique.php3" name"lettre"> A </a></b>
<b>-</b>
<b><a href="http://localhost/betique.php3" name"lettre"> B </a></b>
<b>-</b>
......
<b><a href="http://localhost/betique.php3" name"lettre"> Y </a></b>
<b>-</b>
<b><a href="http://localhost/betique.php3" name"lettre"> Z </a></b>
</CENTER>
</form>
</BODY>
< BR>
<?php
$lettre = $_POST['lettre'];
$sql = "select * from coordonnees where nom like '$lettre%' ";
$db=mysql_connect("localhost", "root", "");
mysql_select_db('assos1',$db) ;
$result = mysql_db_query('assos1',$sql);
if ($result) {
if (mysql_num_rows($result) == 0) {
// Si il n'y a pas de résultats
echo "<center><b>Pas de
Résultat</b></center><br>"; } else {
echo "<center><b>Résultat(s)</b></center><br>&quo t;;
while($row = mysql_fetch_array($result)) {
echo $row['nom'];
echo"
" ;
echo $row['adresse'];
echo"
" ;
echo $row['tel'];
echo"
" ;
}
mysql_free_result($result);
}
}
?>
</HTML>
[ Message édité par : Tribal-Dolphin : 11-07-2003 10:40 ] |  Profil
|
|
developpeur 24581
| Posté : 09-07-2003 22:45
regarde la requète de memberlist.php dans NPDS elle fait exactement ce que tu souhaite |  Profil E-mail www
|
|
camy 40
| Posté : 11-07-2003 10:29
C trop compliqué !!!
je dois faire un moteur de recherche alphabetique très simple !!
Et en plus, je débute en php et html(c pour mon stage que je dois faire ça).
je voudrait juste savoir comment récupérer la lettre cliquée par l'utilisateur pour la rechercher dans ma base de donnée.
Je suis sur que c qqchose de très simple mais que je ne connaît pas.
Merci |  Profil
|
|
Tribal-Dolphin 4374
| Posté : 11-07-2003 10:40
faire un lien sur chaque lettre => <a href=suite.php?ltr=A>A</a> | <a href=suite.php?ltr=B>B</a>
Page suite.php :
Supprime : $lettre = $_POST['lettre'];
Modifie : $sql = "select * from coordonnees where nom like '$ltr%' ";
Et ensuite, ça roule !! |  Profil
|
|
developpeur 24581
| Posté : 11-07-2003 10:40
passage de paramètre par l'url de ton lien : si tu click sur A => a href=recherche.php?lettre=A
Dans ton script de recherche : tu utilise le contenant $lettre |  Profil E-mail www
|
|
Tribal-Dolphin 4374
| Posté : 11-07-2003 10:41
Si c'est pas de la synchronisation parfaite ça !! |  Profil
|
|
developpeur 24581
| Posté : 11-07-2003 10:45
yo tribal / dans une autre vie on sera membre d'un cluster toi et moi |  Profil E-mail www
|
|
camy 40
| Posté : 11-07-2003 11:23
Merci mais ca ne marche pas, ca me donne tout les noms et pas ceux commençant par la lettre cliquée.
Je ne comprends pas !!!!
Voici mon nouveau code :
<form method="post" action="betique.php3">
<?php
echo "<center>[ ";
echo "<a href=betique.php3?ltr=A>A</a>";
echo " - \n";
echo "<a href=betique.php3?ltr=B>B</a>";
echo " - \n";
.......
echo "<a href=betique.php3?ltr=Y>Y</a>";
echo " - \n";
echo "<a href=betique.php3?ltr=Z>Z</a>";
echo " ]\n</center>\n<br>\n";
?>
</form>
betique.php3 :
<?php
$sql = "select * from coordonnees where nom like '$ltr%' ";
$db=mysql_connect("localhost", "root", "");
mysql_select_db('assos1',$db) ;
$result = mysql_db_query('assos1',$sql);
if ($result) {
$nb=mysql_num_rows($result) ;
if ($nb == 0) {
echo "<center><b>Pas de Résultat</b></center><br>";
} else {
echo "<center><b>Résultat(s)</b></center><br>&quo t;;
.........affiche le résulat de la recherche................
}
mysql_free_result($result);
}
}
?> |  Profil
|
|
Tribal-Dolphin 4374
| Posté : 11-07-2003 11:26
Dans ce cas, le prob vient du like '$ltr%' ";
Attend s10 minutes, je te poste le correct |  Profil
|
|
Tribal-Dolphin 4374
| Posté : 11-07-2003 11:31
Après Verif, la syntaxe est bonne !!
Essaye ceci mais sans convictions :
$sql = "SELECT * FROM coordonnees WHERE nom LIKE '".$ltr."%'"; |  Profil
|
|
camy 40
| Posté : 11-07-2003 11:38
Maintenant je ne trouve aucun résultat !!!!!! |  Profil
|
|
camy 40
| Posté : 11-07-2003 11:40
Si mes noms commencent par une majuscule est-ce que ça peut des erreures? |  Profil
|
|
Tribal-Dolphin 4374
| Posté : 11-07-2003 13:56
ça peut, en effet !
Par contre, pour l'autre problème, je vois plus ! |  Profil
|
|
camy 40
| Posté : 11-07-2003 14:31
Ce ne sont pas les noms rentrés en majuscule qui font bugger mon programme.
Soit g toute la liste, soit je n'est rien.
C desesperant |  Profil
|
|
Tribal-Dolphin 4374
| Posté : 11-07-2003 14:39
Essaye un like avec un nom complet puis enleve les lettres les unes après les autres.
Et vois à partir d'ou ça plante. |  Profil
|
|
Aller à la page : [ 1 | 2 | 3 ] |