Rechercher et lister des informations d'une bdd

Eléphanteau du PHP | 23 Messages

31 juil. 2009, 06:57

Bonjour à tous,

J'ai créé une base de données qui contient une longue liste de personnes et diverses informations. Je souhaiterais créer une page en php avec une case de recherche et que cette recherche aille directement lire la base de données et affiche les résultats sous forme de tableau.
Par exemple si je tape "dupont" dans ma case recherche, je veux que tous les dupont présents dans la base de données soient listés par ordre alphabétique de préférence sous forme de tableau et que toutes les informations relatives à ces dupont s'affichent également.
Quelqu'un peut-il m'aider ou me guider dans cette réalisation svp car j'ai très peu de connaissances en programmation.

merci pour votre aide
a++

Eléphant du PHP | 447 Messages

31 juil. 2009, 07:41

Hello,

j'pense que ceci devrait t'aider:

http://www.siteduzero.com/tutoriel-3-34 ... -site.html
Probably (only a) Human Problem?

ViPHP
ViPHP | 2291 Messages

31 juil. 2009, 13:38

Bonjour à tous,

J'ai créé une base de données qui contient une longue liste de personnes et diverses informations. Je souhaiterais créer une page en php avec une case de recherche et que cette recherche aille directement lire la base de données et affiche les résultats sous forme de tableau.
Par exemple si je tape "dupont" dans ma case recherche, je veux que tous les dupont présents dans la base de données soient listés par ordre alphabétique de préférence sous forme de tableau et que toutes les informations relatives à ces dupont s'affichent également.
Quelqu'un peut-il m'aider ou me guider dans cette réalisation svp car j'ai très peu de connaissances en programmation.

merci pour votre aide
a++
Salut,

Pourrais tu donner la structure de ta base please :!:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Eléphanteau du PHP | 23 Messages

31 juil. 2009, 14:38

Merci pour vos réponses,

en m'aidant de tutos trouvés sur internet, j'ai ce code pour faire ma recherche dans la base de données, mais quand je clique sur rechercher, j'ai cette erreur : "Parse error: parse error in C:\wamp\www\search.php on line 67"

Je vais surligner en gras la ligne 67 dans le code.

Savez-vous de quoi ça peut venir ?

Code : Tout sélectionner

<?php $serveur = "localhost"; $utilisateur = "root"; $motDePasse = ""; $baseDeDonnees = "dbb"; mysql_connect($serveur,$utilisateur,$motDePasse) or die ("Connexion au serveur impossible"); mysql_select_db($baseDeDonnees) or die ("Connexion a la base impossible"); echo " <html> <head> <title> Résultat de la recherche </title> </head> <body> "; if (($Mot == "")||($Mot == "%")) { echo " <br> <div class=\"resultat\"> Veuillez entrer un mot clé s'il vous plaît </div> "; } else { $query = "SELECT colonne1, colonne2 FROM table1 WHERE colonne1 LIKE \"%$Mot%\" OR colonne2 LIKE \"%$Mot%\" "; $result = mysql_query($query); $row = mysql_fetch_row($result); $Nombre = $row[0]; if ($Nombre == "0") { echo " 0 page trouvé pour : $Mot <br> Assurez-vous que les mots sont bien orthographiés. <br> Essayez avec moins de mots. <br> Essayez d'autres mots-clés. "; } else { $query = "SELECT colonne1, colonne2 FROM table1 WHERE colonne1 LIKE \"%$Mot%\" OR colonne2 LIKE \"%$Mot%\" "; $result = mysql_query($query); if ($Nombre == "1") { echo " 1 page trouvé pour : $Mot "; } else { echo " $Nombre pages trouvés pour : $Mot "; } while($row = mysql_fetch_row($result)) { echo " <a href="../$row"> $row[1] </a> \n $row[2] \n <a href="../$row"> [Voir tout l'article] </a> "; } } } mysql_close(); echo " </body> </html> "; ?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 juil. 2009, 18:53

Utilise les balises [ php ] quand tu postes du code sur le forum, cela permet d'activer la coloration syntaxique et parfois mettre en évidence tes erreurs... par exemple ici :
echo " 
  <a href="../$row"> $row[1] </a> \n 
  $row[2] \n 
  <a href="../$row"> [Voir tout l'article] </a> 
"; 
Grace à la couleurs on voit que ta chaine s'interrompt, car tu as des guillemets qui ne sont pas protégées :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 23 Messages

31 juil. 2009, 23:01

Mon problème vient de la commande "mysql_close();" , en la supprimant je n'ai plus le soucis de plantage de Apache.
Par contre j'ai encore un autre soucis, j'ai l'erreur suivante : Notice: Undefined variable: Mot in C:\wamp\www\search.php on line 19

Ma page de recherche est en html, voici le code :

Code : Tout sélectionner

<form method="post" action="search.php"> Entrez un mot clé: <br> <input type="text" name="Mot" size="15"> <input type="submit" value="Rechercher" alt="Lancer la recherche!"> </form>

Voici le code du script de recherche :

Code : Tout sélectionner

<?php $serveur = "localhost"; $utilisateur = "root"; $motDePasse = ""; $baseDeDonnees = "bdd"; mysql_connect($serveur,$utilisateur,$motDePasse) or die ("Connexion au serveur impossible"); mysql_select_db($baseDeDonnees) or die ("Connexion a la base impossible"); echo " <html> <head> <title> Résultat de la recherche </title> </head> <body> "; if (($Mot == "")||($Mot == "%")) { echo " <br> <div class=\"resultat\"> Veuillez entrer un mot clé s'il vous plaît </div> "; } else { $query = "SELECT colonne1, colonne2 FROM table1 WHERE colonne1 LIKE \"%$Mot%\" OR colonne2 LIKE \"%$Mot%\" "; $result = mysql_query($query); $array = mysql_fetch_array($result); $Nombre = $array[0]; if ($Nombre == "0") { echo " 0 page trouvé pour : $Mot <br> Assurez-vous que les mots sont bien orthographiés. <br> Essayez avec moins de mots. <br> Essayez d'autres mots-clés. "; } else { $query = "SELECT colonne1, colonne2 FROM table1 WHERE colonne1 LIKE \"%$Mot%\" OR colonne2 LIKE \"%$Mot%\" "; $result = mysql_query($query); if ($Nombre == "1") { echo " 1 page trouvé pour : $Mot "; } else { echo " $Nombre pages trouvés pour : $Mot "; } while($array = mysql_fetch_array($result)) { echo ' <a href="../'.$row.'"> '.$row[1].' </a> '.$row[2].' <a href="../'.$row.'"> [Voir tout l\'article] </a> '; } } } echo " </body> </html> "; ?>

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

01 août 2009, 00:13

Hello,

j'pense que ceci devrait t'aider:

http://www.siteduzero.com/tutoriel-3-34 ... -site.html
Ah na mé ho... ne l'envoie pas chez des concurrents dès le 1er message :cry:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 23 Messages

01 août 2009, 08:51

c'est bon mon problème venait du fait que je n'avais pas défini ma variable $Mot, par contre j'ai eu un autre soucis par la suite, maintenant j'ai ce message d'erreur :
Notice: Undefined offset: 2 in C:\wamp\www\search.php on line 70

Voici l'erreur ligne 70 :
echo '
     <a href="../'.$row.'"> '.$row[1].' </a>
     '.$row[2].'              >>>>>>> ligne 70
     <a href="../'.$row.'"> </a>
';