Page 1 sur 1
Rechercher et lister des informations d'une bdd
Posté : 31 juil. 2009, 06:57
par illidan05
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++
Posté : 31 juil. 2009, 07:41
par Stef
Re: Rechercher et lister des informations d'une bdd
Posté : 31 juil. 2009, 13:38
par dunbar
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

Posté : 31 juil. 2009, 14:38
par illidan05
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> ";
?>
Posté : 31 juil. 2009, 18:53
par Ryle
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

Posté : 31 juil. 2009, 23:01
par illidan05
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> ";
?>
Posté : 01 août 2009, 00:13
par Truc
Ah na mé ho... ne l'envoie pas chez des concurrents dès le 1er message

Posté : 01 août 2009, 08:51
par illidan05
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>
';