[RESOLU] Rechercher dans une Base de données et Afficher les résultat

Petit nouveau ! | 4 Messages

23 déc. 2014, 20:45

Bonjour à tous,

Je suis a la recherche d'aide pour un souci que je rencontre avec ce petit bout de code:
Le but est d'effectuer une recherche dans la 2ème colonne d'une base de données et d'afficher tout les résultats de la ligne dont le nom a été recherché.
La valeur dans cette 2ème colonne est une valeur unique.

La base de donnée est en ordre et fonctionnelle
Voici le code:

Code : Tout sélectionner

<!doctype html> <html> <head> <meta charset="UTF-8"> <title>Aide DonJon</title> </head> <body> <?php //Connection $Connexion = mysql_connect("localhost", "username", "password"); $connexionbase = mysql_select_db("sorts"); ?> <h1 align="center">Rechercher les Sorts et voir les versions Francaises</h1> <br/> Rechercher:<br/> <form method="post" action="search.php?go" name="searchform"> <input type="text" name="srch"> <input type="submit" name="submit" value="Démarrer"> </form> <?php //Verification que le champs n'est pas vide if(isset($_POST['submit'])){ if(!empty($_POST['srch'])){ //declaration variable $recherche=$_POST['srch']; //Querry DB $sql="SELECT srch FROM Name WHERE srch LIKE '%" . $recherche . "%'"; //run query $result=mysql_query($sql); //loop through results while($row=mysql_fetch_array($result)){ $name=$row['name']; $Rang=$row['Rang']; $Incant=$row['Incant']; $Length=$row['Length']; $Comp=$row['Comp']; $Description=$row['Description']; //Display results echo "<ul>\n"; echo "<li>" . "<a href=\"search.php?id=$ID\">" .$name . " " . $Rang . " " .$Incant . " " . $Length . " " .$Comp . " " . $Description . "</a></li>\n"; echo "</ul>"; } } } ?>
Mais quand je teste la fonction rien ne fonctionne je n'ai aucun résultat affiché...

Pouvez vous svp me donner un coup de pouce?

Salutations
Modifié en dernier par Laurentf le 23 déc. 2014, 21:43, modifié 1 fois.

Mammouth du PHP | 688 Messages

23 déc. 2014, 21:00

rien ne s'affiche car il ne rentre pas dans la boucle ou rien ne s'affiche car la requete sql ne retourne qu'un seul champ au lieu de retourner tous les champs nécessaires de la table ?

Petit nouveau ! | 4 Messages

23 déc. 2014, 21:23

La requête sql ne concerne que la colonne dans la quelle je souhaite rechercher des informations?
Si la requête ne retourne qu'un seul champ celui ci au moins devrait s'afficher?

Des idées de correction?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

24 déc. 2014, 11:16

Bonjour,

Remplace :
$result=mysql_query($sql);
par
$result=mysql_query($sql) or die("Erreur MySQL : ".mysql_error());
Cela permettra d'afficher les éventuels messages d'erreurs SQL et de pouvoir les corriger.

Si le problème persiste, fait un echo de ta requete SQL et teste là directement dans PHPmyadmin pour t'assurer qu'elle te renvoie bien le résultat que tu attends.
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 4 Messages

24 déc. 2014, 14:47

Merci Arthur
Le problème venait de la connexion à la base de données...problème maintenant résolu.