Rechercher et lister des informations d'une bdd

Rechercher et lister des informations d'une bdd - PHP - Programmation

Marsh Posté le 31-07-2009 à 06:57:26    

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++

Reply

Marsh Posté le 31-07-2009 à 06:57:26   

Reply

Marsh Posté le 31-07-2009 à 08:35:13    

http://lmgtfy.com/?q=tutorial+mysql  ;)


Message édité par Pascal le nain le 31-07-2009 à 08:35:32
Reply

Marsh Posté le 31-07-2009 à 10:49:06    

Salut,
 
Ce que tu demande n'est pas trop compliqué, si tu as un peu de temps à consacrer tu devrais t'en sortir. Je te conseille de lire ce tuto:
http://www.siteduzero.com/tutoriel [...] c-php.html
 
Tu apprendras vite à faire ce que tu demande.
 
Bon courage

Reply

Marsh Posté le 31-07-2009 à 14:39:33    

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 :
  1. <?php       
  2.                 $serveur = "localhost";
  3.                 $utilisateur = "root";
  4.                 $motDePasse = "";
  5.                 $baseDeDonnees = "dbb";
  6.                 mysql_connect($serveur,$utilisateur,$motDePasse) or die ("Connexion
  7.                 au serveur impossible" );
  8.                 mysql_select_db($baseDeDonnees) or die ("Connexion a la base
  9.                 impossible" );
  10.    echo " <html> <head> <title> Résultat de la recherche </title>
  11.                 </head> <body> ";
  12.                 if (($Mot == "" )||($Mot == "%" )) {
  13.                     echo " <br>
  14.                               <div class=\"resultat\"> Veuillez entrer un mot clé s'il vous
  15.                                plaît </div>
  16.                     ";
  17.                 }
  18.                
  19.    else
  20.                 {
  21.                     $query = "SELECT colonne1, colonne2 FROM table1 WHERE
  22.                     colonne1 LIKE \"%$Mot%\" OR colonne2 LIKE \"%$Mot%\" ";
  23.                     $result = mysql_query($query);
  24.                     $row = mysql_fetch_row($result);
  25.                     $Nombre = $row[0];
  26.                     if ($Nombre == "0" ) {
  27.                         echo " 0 page trouvé pour : $Mot <br>
  28.                                   Assurez-vous que les mots sont bien orthographiés. <br>
  29.                                   Essayez avec moins de mots. <br>
  30.                                   Essayez d'autres mots-clés. ";
  31.                     }
  32.                     else {
  33.                         $query = "SELECT colonne1, colonne2 FROM table1
  34.                         WHERE colonne1 LIKE \"%$Mot%\" OR colonne2 LIKE \"%$Mot%\" ";
  35.                         $result = mysql_query($query);
  36.                         if ($Nombre == "1" ) {
  37.                             echo " 1 page trouvé pour : $Mot ";
  38.                         }
  39.                
  40.                         else {
  41.                             echo " $Nombre pages trouvés pour : $Mot ";
  42.                         } 
  43.                         while($row = mysql_fetch_row($result)) {
  44.                             echo "
  45.                                 <a href="../$row"> $row[1] </a> \n
  46.                                 $row[2] \n
  47.                                 <a href="../$row"> [Voir tout l'article] </a>
  48.                             ";
  49.                         }
  50.                     }
  51.                 }
  52.    
  53.                 mysql_close();
  54.                 echo " </body> </html> ";
  55.             ?>

Reply

Marsh Posté le 31-07-2009 à 14:47:42    

Il faut couper ta chaine correctement de la ligne 57 à 60 et ne pas oublier les antislash.


Message édité par Pascal le nain le 31-07-2009 à 14:52:46
Reply

Marsh Posté le 31-07-2009 à 15:00:49    

merci pour ta réponse mais je ne vois pas ce que je dois modifier, peux-tu me l'indiquer stp ?
 
merci

Reply

Marsh Posté le 31-07-2009 à 15:05:03    

Cette chaine :
 

Code :
  1. echo "
  2. <a href="../$row"> $row[1] </a> \n
  3. $row[2] \n
  4. <a href="../$row"> [Voir tout l'article] </a>
  5. ";


 
Doit être ainsi :
 

Code :
  1. echo '
  2. <a href="../'.$row.'"> '.$row[1].' </a>
  3. '.$row[2].'
  4. <a href="../'.$row.'"> [Voir tout l\'article] </a>
  5. ';


Message édité par Pascal le nain le 31-07-2009 à 15:08:21
Reply

Marsh Posté le 31-07-2009 à 15:39:23    

merci pour ton aide le problème est résolu par contre maintenant quand je lance ma recherche j'ai un rapport d'erreur disant que Apache HTTP Server a rencontré un problème, celà peut venir d'une erreur dans le code ?

Reply

Marsh Posté le 31-07-2009 à 15:45:13    

Copie/colle le texte exact de l'erreur.

Reply

Marsh Posté le 31-07-2009 à 15:49:54    

http://img194.imageshack.us/img194/1964/erreurv.jpg


Message édité par mrdeath le 31-07-2009 à 15:50:45
Reply

Marsh Posté le 31-07-2009 à 15:49:54   

Reply

Marsh Posté le 31-07-2009 à 16:00:55    

Le problème vient de ton serveur local et non pas de ton site.
Tu utilises quoi ?
 
Moi je te conseil Wamp Server, il ne m'a jamais déçu  [:winpoks]


Message édité par Pascal le nain le 31-07-2009 à 16:02:43
Reply

Marsh Posté le 31-07-2009 à 16:04:56    

Je suis sur WampServer 2 justement ^^


Message édité par mrdeath le 31-07-2009 à 16:05:11
Reply

Marsh Posté le 31-07-2009 à 16:33:27    

C'est balo  [:hish]  
 
Tu as une config personnalisée ?
 
C'est vraiment juste cette page qui fait planter wamp ?


Message édité par Pascal le nain le 31-07-2009 à 16:34:01
Reply

Marsh Posté le 31-07-2009 à 17:08:40    

[:drap] j'ai jamais vu un script PHP qui fait planter Apache


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 31-07-2009 à 17:12:29    

Moi ça m'est déjà arrivé, mais je ne sais plus pourquoi

Reply

Marsh Posté le 31-07-2009 à 17:17:08    

Utile donc :D


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 31-07-2009 à 17:23:46    

C'est forcément dans la config de son wamp...

Reply

Marsh Posté le 31-07-2009 à 19:00:38    

faux cliquer sur "Cliquez ici"   voir si c'est le driver php qui foire,  php5truc.dll,  j'avai souvent se probleme  a cause  du libsql.dll,  qui fallais remplacé

Reply

Marsh Posté le 31-07-2009 à 22:19:46    

oui c'est la seule page qui me fait planter le programme, mais j'ai rien configuré de particulier dans Wamp

Reply

Marsh Posté le 31-07-2009 à 23:02:25    

Voilà j'ai modifié quelques trucs qui ont réglé mon problème par contre j'ai une nouvelle erreur : [B]Notice: Undefined offset: 2 in C:\wamp\www\search.php on line 70[/B]
 
La ligne 70 est celle surlignée en rouge :
 

Code :
  1. <?php       
  2.                 $serveur = "localhost";
  3.                 $utilisateur = "root";
  4.                 $motDePasse = "";
  5.                 $baseDeDonnees = "dbb";
  6.                 mysql_connect($serveur,$utilisateur,$motDePasse) or die ("Connexion
  7.                 au serveur impossible" );
  8.    $Mot = mysql_real_escape_string($_POST['Mot']);
  9.                 mysql_select_db($baseDeDonnees) or die ("Connexion a la base
  10.                 impossible" );
  11.    echo " <html> <head> <title> Résultat de la recherche </title>
  12.                 </head> <body> ";
  13.                 if (($Mot == "" )||($Mot == "%" )) {
  14.                     echo " <br>
  15.                               <div class=\"resultat\"> Veuillez entrer un mot clé s'il vous
  16.                                plaît </div>
  17.                     ";
  18.                 }
  19.                
  20.    else
  21.                 {
  22.                     $query = "SELECT colonne1, colonne2 FROM table1 WHERE
  23.                     colonne1 LIKE \"%$Mot%\" OR colonne2 LIKE \"%$Mot%\" ";
  24.                     $result = mysql_query($query);
  25.                     $row = mysql_fetch_row($result);
  26.                     $Nombre = $row[0];
  27.                     if ($Nombre == "0" ) {
  28.                         echo " 0 page trouvé pour : $Mot <br>
  29.                                   Assurez-vous que les mots sont bien orthographiés. <br>
  30.                                   Essayez avec moins de mots. <br>
  31.                                   Essayez d'autres mots-clés. ";
  32.                     }
  33.                     else {
  34.                         $query = "SELECT colonne1, colonne2 FROM table1
  35.                         WHERE colonne1 LIKE \"%$Mot%\" OR colonne2 LIKE \"%$Mot%\" ";
  36.                         $result = mysql_query($query);
  37.                         if ($Nombre == "1" ) {
  38.                             echo " 1 page trouvé pour : $Mot ";
  39.                         }
  40.                
  41.                         else {
  42.                             echo " $Nombre pages trouvés pour : $Mot ";
  43.                         } 
  44.                         while($row = mysql_fetch_row($result)) {
  45.                             echo '
  46.             <a href="../'.$row.'"> '.$row[1].' </a>
  47.             '.$row[2].'
  48.             <a href="../'.$row.'"> </a>
  49.            ';
  50.                         }
  51.                     }
  52.                 }
  53.                 echo " </body> </html> ";
  54.             ?>


Message édité par mrdeath le 01-08-2009 à 08:55:36
Reply

Marsh Posté le 03-08-2009 à 13:48:48    

les indices des tableaux commencent à 0.
remplace $row[1] et $row[2] par $row[0] et $row[1]


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 03-08-2009 à 14:18:19    

<a href="../'.$row.'"> '.$row[1].' </a>


 
Si $row est un tableau, alors tu ne peux pas l'echo directement. Tu dois choisir $row[0] ou $row[1].
 
Et +1 pour l'offset. Tu as mis des données dans $row[0] et $row[1], il ne faut pas les chercher dans $row[2]  ;)


Message édité par Pascal le nain le 03-08-2009 à 14:19:06
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed