Tom's Guide > Forum > Programmation > Recherchez un membre
Mot :    Pseudo :           
 

bonjour je suis un jeune codeur qui fait ses premiers pas dans le codage je suis en train de creer un espace membre; j'éssaye depuis quelque jours de mettre en place un moteur de recherche pour rechercher les membres inscrit sur le site mais je ne sait pas trop comment faire pouvez vous m'aidez svp

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Tu crée un champs text, et un bouton "Rechercher", un formulaire classique quoi!
Puis dans le script php qui est appelé, tu execute une requête sql avec un LIKE genre :
select * from membres where pseudo LIKE '%truc%'
Et tu affiche les résultats!

Répondre à mr_keyser

et a %truc% je met quoi a la place?

Répondre à poete31

C'est ma requete:

Code :
  1. <?php include("../include/config.inc.php" ); ?><?php
  2. $db = mysql_connect($sql_host,$sql_user,$sql_pass);
  3. mysql_select_db($sql_bdd,$db);
  4. $sql = mysql_query("SELECT login FROM $tb_membres WHERE login" );
  5. $id  = mysql_query($sql);
  6.     echo ' <b>'.$login.'</b>';
  7. mysql_close($db);
  8. ?>
  9. Elle ne fonctionne toujours pas  pourtant le formulaire est bon

Répondre à poete31

WHERE c'est une condition!
Tu met le nom du champs à tester, puis l'instruction!
Ici, tu as que le nom du champs "login", te faut une suite!
Donc soit login = "blablabla"
Soit un login LIKE '%blabblabla%', les % veulent dire n'importe quel caractère! Donc ici n'importe quoi avant ou après, du moment que le mot rechercher est présent dans le login!

donc 1 - Tu récupère le champ text de saisie :
$mot = $_GET['ton_champ'];
2 - Tu construi la requête :
$sql = "SELECT login FROM ".$tb_membres." WHERE login LIKE '%".$mot."%';";
3 - Tu execute :
$result = mysql_query($sql);
4 - Tu boucle sur les résultats :
while($row = mysql_fetch_array($result)) {
echo $row['login']."
";
}

Ca devrait etre pas mal, bricole un truc avec ca!

Répondre à mr_keyser

et allez parcque je suis sympa, et les couleurs c'est mieux :

Code :
  1. <?php
  2.   include("../include/config.inc.php" );
  3.            
  4.   $db = mysql_connect($sql_host,$sql_user,$sql_pass);
  5.   mysql_select_db($sql_bdd,$db);
  6.   // ICI CHANGE LE NOM DE CHAMPS, ET FAIT GAFFE A LA METHOD (GET OU POST)
  7.   $mot = $_GET['ton_champ'];
  8.   $sql = "SELECT login FROM ".$tb_membres." WHERE login LIKE '%".$mot."%';";
  9.   $result = mysql_query($sql);
  10.   while($row = mysql_fetch_array($result)) {
  11.       echo "<b>".$row['login']."</b>
  12. ";
  13.   }
  14.   mysql_close($db);
  15. ?>

Répondre à mr_keyser

et ensuite pour voir les résultats je fait comment car la je ne vois rien?

Répondre à poete31

sa me met sa :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/mass/web/www/secure/login/recherche.php on line 14

Répondre à poete31

c'est cette ligne là :
echo "<b>".$row['login']."</b>
";
Juste avant le while, tu peux mettre :
echo 'nombre de resultats : '.mysql_num_rows($result);

Ca t'affichera combien il y as de resultat!

Et remplace $result = mysql_query($sql);
par :
$result = mysql_query($sql, $db) or die("erreur execution requete
".mysql_error());

Répondre à mr_keyser

t'es ok pour qu'on parle par msn? sa sera plu simple car la sa me met Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/mass/web/www/secure/login/recherche.php on line 14
nombre de resultats :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/mass/web/www/secure/login/recherche.php on line 16

Répondre à poete31

prend mon msn, on verra ce soir si je suis là!

Répondre à mr_keyser

sayer sa amrche mais ce n'est pas le code que j'ai demander, car le code que tu m'as paser sa affiche le nombre de membre inscrit et ce code je l'ai deja creer moi c'est un moteur de recherche que je recherche donc avec des mot clef concernan les membres par example quan un membre cherche un pseudo qu'il n'ya na pas 10 qui s'affiche juste le pseudo recherche je sai pas si tu comprends

Répondre à poete31

oui oui, mais le nombre de resultat, c'etait pour le debogage, maintenant tu peux le virer!
Laisse jsute le while .... qui va afficher les pseudos trouvés!

Répondre à mr_keyser

c'est toujours pas ce que je veux

Répondre à poete31
Tom's Guide > Forum > Programmation > Recherchez un membre
Aller à :

Il y a 480 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens