Donnée post et base de donnée

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. 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
    1. 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^^
    2. 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";
  2. 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];
    1. 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...
  3. 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:
    1. 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];
      }
      1. 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
      2. 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'];
      3. 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?
      4. 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é!';
      5. 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é?