[PHP/MYSQL] Recherche sur une base de donnée

Résolu
Bonjour,

Je m'explique je compte créer une page html avec formulaire ou je rentrerait des champs qui pas la page php enregistrera les données dans la base de donnée.

Lorsqu'une personnes viendra sur une autres page html ou il aura un champ pour entrer un texte alors la pge php prendra la donnée rentré puis la compara avec celle dans la base de donnée puis affichera toute les infos atribué à ce texte.

J'avou c'est flou mais bon ^^

Donc le problème est que je ne sais pas comment effectuer la recherche :(

Pour plus d'info demandé

merci d'avance
Configuration: Windows XP
Internet Explorer 7.0

22 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonsoir,

    qqs pb de ' dans la requette, et pour faire l'extraction il manque la boucle while(.....

    et es tu sur que NOMUTILISATEUR est en majuscules dans ta table utilisateur ?

    $requete= "SELECT * FROM utilisateur WHERE NOMUTILISATEUR LIKE '".$nom."%'";
    $resultat= mysql_query($requete,$connection) or die(mysql_error());
    mysql_close();
    while($ligne=mysql_fetch_array($resultat){
    	echo $ligne['NOMUTILISATEUR']."br>" ;
    }
    
    1. Alors déjà, corrige cette ligne comme ça :

      echo "<td> Nom utilisateur:</td><td><input type=\"text\" name=\"nom_util\" value=\"" . $ligne['NOMUTILISATEUR'] . "\"></td>";
      
      1. voila la ligne 19
        echo "<td> Nom utilisateur:</td><td><input type=\"text\" name=\"nom_util\" value=\"$ligne['NOMUTILISATEUR']\"></td>";

        merci pour tout
        1. j'ai appliqué le code(il manquait une parenthese apres $resultat)
          on me signale cette erreur
          Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\program files\easyphp1-7\www\site\md_rechercher_client.php on line 19
          il s'agit d'un espace blanc je pense mais ou?
          1. $requete= "SELECT * FROM utilisateur WHERE NOMUTILISATEUR LIKE '".$nom."%'";
            $resultat= mysql_query($requete,$connection) or die(mysql_error());
            mysql_close();
            ?>
            <form name="ma_form" method="post" action="script_traitement.php">
            <table>
            <?php
            while($ligne=mysql_fetch_array($resultat){
            	echo "<tr>";// debut nouvelle ligne
            	echo "<td>Nom utilisateur:</td><td><input type=\"text\" name=\"nom_util\" value=\"$ligne['NOMUTILISATEUR']\"></td>";
            	echo"</tr>";//fin 
            	echo "<tr>";// debut nouvelle ligne
            	echo "<td>autre Champ:</td><td><input type=\"text\" name=\"autre_champ\" value=\"$ligne['autre_champ']\"></td>";
            	echo"</tr>";//fin 
            	echo "<tr>";// debut nouvelle ligne
            	echo "<td>un autre Champ:</td><td><input type=\"text\" name=\"un_autre_champ\" value=\"$ligne['un_autre_champ']\"></td>";
            	echo"</tr>";//fin
            	echo "-----------------------------------------------------------"; //séparateur
            }
            ?>
            </table>
            </form>
            1. merci ton code marche tres bien .
              comment pourrai je les afficher dans un formulaire pour que je puisse apporter des modifications?
              1. merci pour l'info sur la recherche dans une BD ca m'a bien servi!!!

                j'ai galéré toute la matiné et je viens de tombé sur cette page.
                je suis heureux, grace a vous j'ai fini mon projet ou presque!

                un grand merci!!!!!! ^^
                1. Bonjour,

                  $donnees est un array qui contient toutes les infos d'une ligne de ta table

                  alors pour afficher le reste

                  echo "Nom: ".$ligne['NOMUTILISATEUR']." Autre champ: ".$ligne['autre_champ']." Un autre champ: ".$ligne['un_autre_champ']."br>" ;


                  //etc..

                  je ne connais pas le libellé de tes autres champs alors tu remplaces.

                  @lain
                  1. ce code m'a afficher le nom de l'utilisateur alors que je voulais afficher toutes les informations
                    qui se trouvent dans la table utilisateur
                    1. j'ai appliquer ce que vous m'avez proposé mais il 'y'a une erreur
                      Erreur de syntaxe près de '' à la ligne 1
                      voici le code

                      $nom=$_POST['nom'];

                      //connexion à la base
                      $connection= mysql_connect("localhost","root","");
                      mysql_select_db("projet");
                      //la requete
                      $requete= "select * from utilisateur where NOMUTILISATEUR LIKE ".$nom."%";
                      $resultat= mysql_query($requete,$connection) or die(mysql_error());
                      echo $resultat ;
                      1. tu mets dans ta requette

                        "SELECT * FROM ta_table WHERE champ LIKE ".$critere."%'"

                        $critere c'est les premières caractères tapés
                        1. bonsoir
                          je veux faire une recherche par quelques lettres ou par un code dans une table utilisateurs.
                          je m'explique: l'admin doit faire la recherche dans la table utilisateur en entrant queques lettres seulement des noms ou bien le code-utilisateur.et toutes une liste contenant les noms qui débutent par ces lettre sera récupérer de la base.
                          comment dois je procéder?
                          merci
                          1. Tu avais cette erreur avant le code de recherche?
                            Et $end, c'est quoi?
                            Comme dit Alain, il doit manquer un caractère important du style ';' ')' '}' ...
                            1. Il te manque certainement une }

                              verifies bien qu'a chaque {
                              tu as bien une }
                              1. Petit problème :

                                Parse error: syntax error, unexpected $end in *********/recherche.php on line 37

                                line 37 : </html>

                                je vois pas :(
                                1. ok mais je peu pas tester de suite donc ce soir ou demain soir ;)

                                  merci ^^
                                  1. Ok, c'est une recherche sur la bdd quoi.

                                    mysql_connect("","","");
                                    mysql_select_db("");
                                    //Tu mets tes "coordonnées"

                                    $req=mysql_query("SELECT * FROM matable WHERE nom LIKE ('".$_POST['nom']."')");
                                    while($res=mysql_fetch_array($req)){
                                    echo $res['nom']." - ".$res['numero']." - ".$res['url']."<br>";
                                    }

                                    Dis-moi si ça marche
                                    • 1
                                    • 2