JeuWeb - Crée ton jeu par navigateur
système de recherche - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : système de recherche (/showthread.php?tid=1026)

Pages : 1 2


système de recherche - oualala - 04-04-2007

Voilà, troisième question du jour, bientôt le record^^.
Comment faire un système de recherche.
Voilà les infos:
table membres-->champ pseudo
Donc si vous avez un tuto ou si un post sur se sujet à déjà été poster merci de me donner le lien.


RE: système de recherche - carlou - 04-04-2007

recherche de quoi?


RE: système de recherche - denisc - 04-04-2007

SELECT pseudo FROM membres WHERE pseudo LIKE '%recherche%'
où recherche est la partie du nom que tu recherches.

Le % représente un nombre inconnu de caractères.
par exemple, si tu a dans les pseudos : AVION, AMIS, IDEM, JEAN, PIERRE, ENNEMI
la recherche %I% retournera AVION AMIS, IDEM, PIERRE et ENNEMI
la recherche A% retournera AVION et AMIS
la recherche %N retournera AVION et JEAN

Le _ repérente 1 caractère...
la recherche _I% retournera uniquement PIERRE


Ca, c'est en MSSQL... Ca doit être pareil en MySQL... je crois Tongue


RE: système de recherche - carlou - 04-04-2007

pas sur pour le _ mais le % oui ca c'est sur, par contre ca marchera pas pour les noms du genre "jean pierre"

pour ca il faut decomposer le mot

like %jean% and like %pierre%


RE: système de recherche - denisc - 04-04-2007

Bon, je viens de faire un test...
C'est la même chose en MySQL qu'en MSSQL...

Donc _ remplace 1 caractère
et % remplace n caractères.

Si tu veux tous les pseudos de 3 lettre, tu fais LIKE '___'
Si tu veux tous les pseudos qui ont un X en seconde position, tu fais LIKE '_X%'

Ca fonctionne très bien.
Par contre, effectivement si tu veux les jean-pierre, on peut avoir un soucis avec les "JEAN PIERRE", les "JEAN-PIERRE", les "JEANPIERRE", ou encore les "JEAN - PIERRE" ... Faut alors faire LIKE 'JEAN%PIERRE' et hop, c'est gagné comme on dit chez Dora l'exploratrice Smile


RE: système de recherche - Plume - 04-04-2007

Je ne sait pas si c'est sensible ou pas à la casse. ..


RE: système de recherche - oualala - 04-04-2007

C'est bon j'ai trovué, sa ne me plaît pas trop le code que tu as donné car on peut trouver n'importe quel nom...Merci quand même Wink

Voici le code pour aider ceux qui cherchent:

Code html:
<form method="post" action="trouver.php">
<input type="text" name="seigneur">
<input type="submit" value="Rechercher">
</form>
Code PHP :
<?php 
$pseudo
= mysql_query("SELECT pseudo, argent FROM membres WHERE '"$_POST['seigneur']"'");//on peut rajouter plus entre SELECT et FROM//

while ($recherche = mysql_fetch_array($trouver)
{
//on affiche les infos que l'on veut. Exemple://
echo 'Seigneur: '.$_POST['seigneur'].' argent: '.$recherche['argent'].'';
}
Voilà, si c'est faut, dîtes



RE: système de recherche - denisc - 04-04-2007

En même temps, dans ton code, celui qui tape du texte dans le champ 'seigneur' peut taper '%' et hop, il voit tous le monde!!!!!

Maintenant, la question de départ était tellement vague que toutes les réponses que nous aurions données auraient pu être correctes ou complètement à côté de la plaque!!!

DämEn a écrit :Je ne sait pas si c'est sensible ou pas à la casse. ..
Ca dépendra du paramètre de configuration de ton mysql.ini.
Par défaut, il est insensible.

Pour le rendre case sensitive sur certains champs uniquement sans avoir à passer par le fichier de configuration (password et login par exemple), il faut en faire des champs 'latin1_bin' et non comme c'est le cas par défaut des 'latin1_general_cs'.


RE: système de recherche - Plume - 04-04-2007

Merci Smile


RE: système de recherche - Shidame - 04-04-2007

me semble que tu a oublié les "." pour la concaténation aussi et puis niveau securité je te conseil de filtrer tes données renvoyées par l'utilisateur.