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

Résolu
ekudarius Messages postés 175 Statut Membre -  
 zt -
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

  • 1
  • 2
  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    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>" ;
    }
    
    12
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    $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>
    4
  3. Scalpweb Messages postés 1483 Statut Membre 43
     
    Alors déjà, corrige cette ligne comme ça :

    echo "<td> Nom utilisateur:</td><td><input type=\"text\" name=\"nom_util\" value=\"" . $ligne['NOMUTILISATEUR'] . "\"></td>";
    
    3
  4. ekudarius Messages postés 175 Statut Membre 51
     
    Petit problème :

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

    line 37 : </html>

    je vois pas :(
    2
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. chefchef
     
    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 ;
    2
  7. ilan27 Messages postés 395 Statut Membre 36
     
    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
  8. Alain_42 Messages postés 5413 Statut Membre 904
     
    Il te manque certainement une }

    verifies bien qu'a chaque {
    tu as bien une }
    1
  9. chefchef
     
    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
  10. Alain_42 Messages postés 5413 Statut Membre 904
     
    tu mets dans ta requette

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

    $critere c'est les premières caractères tapés
    1
  11. chefchef
     
    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
  12. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  13. tono
     
    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
  14. chefchef
     
    merci ton code marche tres bien .
    comment pourrai je les afficher dans un formulaire pour que je puisse apporter des modifications?
    1
  15. chefchef
     
    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
  16. chefchef
     
    voila la ligne 19
    echo "<td> Nom utilisateur:</td><td><input type=\"text\" name=\"nom_util\" value=\"$ligne['NOMUTILISATEUR']\"></td>";

    merci pour tout
    1
  17. Alain_42 Messages postés 5413 Statut Membre 904
     
    que contient la ligne 19 ?

    l'erreur est peut être ligne au dessus
    0
  18. chefchef
     
    bonjour,
    merci pour la correction
    le code fonctionne tres bien
    0
  19. Scalpweb Messages postés 1483 Statut Membre 43
     
    De rien, bonne journée.

    Passe ce poste en tant que résolu ;-) ^^
    0
  20. ilan27 Messages postés 395 Statut Membre 36
     
    Bonjour,
    Je te propose un rapide algorithme:
    _Ouvre ta bdd,
    _Selection en Sql pour les champs qui ressemblent au texte entré (je ne sais pas si c'est bien ça que tu souhaites faire):
    $req=mysql_query("SELECT * FROM matable WHERE lechamp_quetuveux_ex:texte, info... LIKE ('".$variable_qui_contient_letexte_entré."')");
    $res=mysql_fetch_array($req);
    _Afficher les résultats

    C'est ce que tu voulais?
    -1
  21. ekudarius Messages postés 175 Statut Membre 51
     
    oué c'est sa mais si tu pourait détailler un peu plus ;)

    Sinon voila ce que je veu un peu plus détaillé ^^

    Une page admin avec 3 champs de formulaire.
    Je rentre un nom, un numéro et un url.

    Ensuite un utilisateur viens sur mon site et tombe sur une page avec un champs de formulaire seulement.
    Il tape un nom et donc on compare se nom avec se rentré dans la base de doné.
    Si il est présent dans la bdd alors on affiche les 3 champs à l'utilisateur.

    Peut ètre plus précis ? :P
    -1
    1. zt
       
      je suis en train de creer un reseaux social et je cherche le code php de partage de vidéo
      0
  • 1
  • 2