Donnée post et base de donnée

powerguitou Messages postés 512 Statut Membre -  
 Profil bloqué -
Bonjour,

bonjour j'ai un formulaire de recherche que j'essaie de mettre en place ,et je voudrais que ce que les gens tape en recherche sois cherche dans la base de donnée mysql
voila mon formulaire
<div class="search">
              <form name="search" method="post" action="add/search.php">
                <td><input type="text"  name="search" class="textBox1" /></td>
                <input type="submit" class="barre" />
              </form>
      		</div>

la page search.php contient la connexion à la base donnée mais je ne sais pas comment formuler ma requête sql et les afficher......sorry je débute

merci de votre aide

5 réponses

  1. Profil bloqué
     
    faut faire un "SELECT * FROM nom_de_la_table WHERE nom_de_la_coloonne LIKE %".$_POST['search']."%";

    et ensuite faire une boucle genre avec while pour afficher tes résultats
    0
    1. powerguitou Messages postés 512 Statut Membre 29
       
      Merci de ta réponse ulta rapide, je vais essayer ca tout de suite et voir ce qu'est le While pour faire ca juste^^
      0
    2. powerguitou Messages postés 512 Statut Membre 29
       
      cela te semble juste?

        $requete = "SELECT * FROM Comptes_Utilisateurs WHERE Nom_Utilisateur LIKE %".$_POST['search']."%"; 
      	$resultat=mysql_query($requete);
      	while ($rows=mysql_fetch_array($resultat)) {
      		$nom=$rows[Nom_Utilisateur];
      	
      	echo "nom : $nom";
      0
  2. Profil bloqué
     
    oui,
    il faut bien penser à se connecter à la base de données au début
    pas oublier de fermer l'accolade }à la fin du while (que je ne vois pas..)

    et tu peux optimiser comme ca :
    ces 2 lignes
    $nom=$rows[Nom_Utilisateur];
    echo "nom : $nom";
    devient :
    echo 'nom : '.$rows[Nom_Utilisateur];
    0
    1. Profil bloqué
       
      PS : en règle générale évite aussi les majuscules pour les noms des tables, colonnes, etc..
      un jour tu t'arracheras les cheveux pour trouver un bug qui en fait vient d'une majuscule manquante...
      0
  3. powerguitou Messages postés 512 Statut Membre 29
     
    Donc ca donnerais cela

     $requete = "SELECT * FROM Comptes_Utilisateurs WHERE Nom_Utilisateur LIKE %".$_POST['search']."%";  
     $resultat=mysql_query($requete); 
     while ($rows=mysql_fetch_array($resultat)) {} 
      echo 'nom : '.$rows[Nom_Utilisateur]; 
    


    actuellement avec ca j'ai une erreur a ma ligne 15 qui est la ligne du while l'accolade pas au bonne endroit je suppose?
    Et un affichage ou il y a écrit nom:
    0
  4. Profil bloqué
     
    essaie
    remplacer
    while ($rows=mysql_fetch_array($resultat)) {}
    echo 'nom : '.$rows[Nom_Utilisateur];
    par
    while ($rows=mysql_fetch_array($resultat)) {
    echo 'nom : '.$rows[Nom_Utilisateur];
    }
    0
    1. powerguitou Messages postés 512 Statut Membre 29
       
      Alors encore merci de m'aider mais j'ai toujours la même erreur
      Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

       $requete = "SELECT * FROM Comptes_Utilisateurs WHERE Nom_Utilisateur LIKE %".$_POST['search']."%"; 
      	$resultat=mysql_query($requete);
      	while ($rows=mysql_fetch_array($resultat)) { 
      	echo 'nom : '.$rows[Nom_Utilisateur];
      }
      

      et l'erreur c'est toujours la ligne du while
      0
    2. Profil bloqué
       
      autant pour moi j'avais oublié les guillements au niveau de requete
      $requete = "SELECT * FROM Comptes_Utilisateurs WHERE Nom_Utilisateur LIKE '%".$_POST['search']."%'";

      il faut aussi mettre des guillemets ici :

      echo 'nom : '.$rows['Nom_Utilisateur'];
      0
    3. powerguitou Messages postés 512 Statut Membre 29
       
      Ca marche impeccablement bien comme suis content

      je colle le code pour ce qui en aurais besoin c'est toujours utile
      $requete = "SELECT * FROM Comptes_Utilisateurs WHERE Nom_Utilisateur LIKE '%".$_POST['search']."%'"; 
      	$resultat=mysql_query($requete);
      	while ($rows=mysql_fetch_array($resultat)) { 
      	echo 'nom : '.$rows['Nom_Utilisateur'];
      }
      


      Je ne veut pas abuser mais si il ne trouve rien dans la base de donnée c'est possible d'afficher un message?
      0
    4. Profil bloqué
       
      oui dans cette partie tu fais ca :
      $i=0;
      while ($rows=mysql_fetch_array($resultat)) {
      $i++;
      echo 'nom : '.$rows['Nom_Utilisateur'];
      }
      if($i==0) echo 'Aucun résultat trouvé!';
      0
    5. powerguitou Messages postés 512 Statut Membre 29
       
      Génial lol c'est super bien , merci vraiment !

      maintenant que j'ai la formulation pour 1 si je fait un formulaire avec plusieurs champ de recherche il suffit que je fasse une requête de plus et que j'adapte le contenu ou c'est plus compliqué?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Profil bloqué
     
    Pas de soucis :)
    Bon courage
    0