Index du forum »»  Le coin des codeurs »» recherche alphabétique

recherche alphabétique#6593

4Contributeur(s)
camydeveloppeurTribal-DolphinGiamDoc
3 Modérateur(s)
developpeurjpbJireck
camy camyicon_post
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>


<?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>";
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 ]
developpeur developpeuricon_post
regarde la requète de memberlist.php dans NPDS elle fait exactement ce que tu souhaite
camy camyicon_post
C trop compliqué !!!:paf
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
Tribal-Dolphin Tribal-Dolphinicon_post
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 !!
developpeur developpeuricon_post
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
Tribal-Dolphin Tribal-Dolphinicon_post
Si c'est pas de la synchronisation parfaite ça !! :-D
developpeur developpeuricon_post
yo tribal / dans une autre vie on sera membre d'un cluster toi et moi :-D
camy camyicon_post
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 "&nbsp;-&nbsp;\n";
echo "<a href=betique.php3?ltr=B>B</a>";
echo "&nbsp;-&nbsp;\n";
.......
echo "<a href=betique.php3?ltr=Y>Y</a>";
echo "&nbsp;-&nbsp;\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>";
.........affiche le résulat de la recherche................
}
mysql_free_result($result);
}
}
?>
Tribal-Dolphin Tribal-Dolphinicon_post
Dans ce cas, le prob vient du like '$ltr%' ";
Attend s10 minutes, je te poste le correct
Tribal-Dolphin Tribal-Dolphinicon_post
Après Verif, la syntaxe est bonne !!
Essaye ceci mais sans convictions :
$sql = "SELECT * FROM coordonnees WHERE nom LIKE '".$ltr."%'";
camy camyicon_post
Maintenant je ne trouve aucun résultat !!!!!!
camy camyicon_post
Si mes noms commencent par une majuscule est-ce que ça peut des erreures?
Tribal-Dolphin Tribal-Dolphinicon_post
ça peut, en effet !
Par contre, pour l'autre problème, je vois plus !
camy camyicon_post
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 :paf :paf :paf :paf :paf
Tribal-Dolphin Tribal-Dolphinicon_post
Essaye un like avec un nom complet puis enleve les lettres les unes après les autres.
Et vois à partir d'ou ça plante.