Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1159 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  comment récupérer toutes les tables qui correspondent à une recherche

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment récupérer toutes les tables qui correspondent à une recherche

n°989958
Gravastar
Dude elle est où ma caisse ?
Posté le 22-02-2005 à 15:50:45  profilanswer
 

Bonjour tout le monde,
 
Je souhaiterais récupérer l'ensemble des tables qui répondent au critère de la requête SQL que je fais (SELECT * from 'RESERVATION' WHERE nom='$nom'), pour ensuite les efficher dans un tableau sur la page.  
Au départ j'avais fait un mysql_fetch_row du resultat de la query et ensuite je faisais un foreach du tableau récupéré. Le problème c'est que le tableau en question correspondait à la première table répondant au critère, et pas à un tableau de tables. Ensuite, je me suis dit, en lisant la description de mysql_fetch_row que j'allais faire un while(mysql_fetch_row(..)), mais il part en boucle infinie.
Pourriez-vous me dire ce que je dois faire pour arriver au résultat escompté ?
 
Merci beaucoup

mood
Publicité
Posté le 22-02-2005 à 15:50:45  profilanswer
 

n°989964
skeye
Posté le 22-02-2005 à 15:53:02  profilanswer
 

[quote=989958,0,1,218207]
Pourriez-vous me dire ce que je dois faire pour arriver au résultat escompté ?[/quote]
Poster ton bout de code qui te fait une boucle infinie.


---------------
Can't buy what I want because it's free -
n°989966
Xav_
The only one...
Posté le 22-02-2005 à 15:53:50  profilanswer
 

lapin compris...
 
ta requete va chercher dans la table RESERVATION (tes quotes servent à rien à ce niveau là) et en sélectionne tous les champs (because t'a mis SELECT *) dès que le champs "nom" d'un enregistrement correspond à la variable "nom"...
 
Je ne vois pas ce que tu entend par " récupérer l'ensemble des tables"...


Message édité par Xav_ le 22-02-2005 à 15:54:14

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°989967
KangOl
Profil : pointeur
Posté le 22-02-2005 à 15:53:52  profilanswer
 

donne ton code !
nous on peut pas le veniner :o


---------------
Nos estans firs di nosse pitite patreye...
n°989970
Gravastar
Dude elle est où ma caisse ?
Posté le 22-02-2005 à 15:54:57  profilanswer
 

[quote=989964,0,2,46149]Poster ton bout de code qui te fait une boucle infinie.[/quote]
 
ok :
 

Code :
  1. // traitement de la demande
  2.    if(!empty($_POST)){
  3.         
  4.              // formulation de la requete a la base de donnees
  5.              $query = 'SELECT *'. ' FROM `RESERVATION` '. 'WHERE ';
  6.              if ($_POST["category"]=="nom" ){
  7.                  $query.= 'nom_client=\''.$_POST["search"].'\'';
  8.              }
  9.                                           elseif ($_POST["category"]=="date" ){
  10.                  $query.= 'date_reservation=\''.$_POST["search"].'\'';
  11.              }
  12.                                           elseif ($_POST["category"]=="service" ){
  13.                  $query.= 'service=\''.$_POST["search"].'\'';
  14.              }
  15.              else {
  16.                                               $id=substr($_POST["search"], 8);
  17.                  $query.= 'id=\''.$id.'\'';
  18.              }
  19.    }
  20.    // recuperation des donnees
  21.    echo '<div class="scrollable">';
  22.                                
  23.                                 while ($reservation = mysql_fetch_row(mysql_query($query))){


 
Après j'affiche les différentes lignes des tables dans un tableau pour chaque table. Enfin c'est ce que je voudrais faire.

n°989984
skeye
Posté le 22-02-2005 à 15:58:23  profilanswer
 

Normal.
Il faut faire comme ça :

Code :
  1. //exécution de la requete
  2. $result = mysql_query($query);
  3. //on boucle sur les résultats
  4. while($row = mysql_fetch_row($result)){
  5. //tes trucs.
  6. }


 
Là tu réexécutes la requête à chaque tour de boucle...


Message édité par skeye le 22-02-2005 à 15:59:10

---------------
Can't buy what I want because it's free -
n°989989
Gravastar
Dude elle est où ma caisse ?
Posté le 22-02-2005 à 16:00:06  profilanswer
 

Et bien oui, c'est parce que je n'ai pas bien compris la commande sans aucun doute, d'où ma question. Je fais ça pour avoir une table correspondant à ma recherche a chaque tour de boucle, jusqu'à ce qu'il n'y ait plus de table qui corresponde. Selon toute évidence, il ne s'agit pas de la bonne méthode, mais je ne trouve pas comment faire.

n°989996
KangOl
Profil : pointeur
Posté le 22-02-2005 à 16:01:44  profilanswer
 

essaye d'utiliser les bons termes ! une requete ne revois pas des tables :o


---------------
Nos estans firs di nosse pitite patreye...
n°989997
Xav_
The only one...
Posté le 22-02-2005 à 16:02:44  profilanswer
 

[quote=989996,0,8,25631]essaye d'utiliser les bons termes ! une requete ne revois pas des tables :o[/quote]
kler, j'ai déjà du mal à comprendre ce qu'il veut faire...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°989999
Gravastar
Dude elle est où ma caisse ?
Posté le 22-02-2005 à 16:03:00  profilanswer
 

Bien, je ne sais pas trop comment l'expliquer alors. Je voudrais, récupérer un tableau de tableau en fait, chaque sous tableau étant l'équivalent de ce que je n'ai pas le droit d'appeler table.

mood
Publicité
Posté le 22-02-2005 à 16:03:00  profilanswer
 

n°990001
skeye
Posté le 22-02-2005 à 16:03:53  profilanswer
 

[quote=989989,0,7,218207]Et bien oui, c'est parce que je n'ai pas bien compris la commande sans aucun doute, d'où ma question. Je fais ça pour avoir une table correspondant à ma recherche a chaque tour de boucle, jusqu'à ce qu'il n'y ait plus de table qui corresponde. Selon toute évidence, il ne s'agit pas de la bonne méthode, mais je ne trouve pas comment faire.[/quote]
 
Je t'ai donné la réponse, hein! [:dawa]


---------------
Can't buy what I want because it's free -
n°990004
KangOl
Profil : pointeur
Posté le 22-02-2005 à 16:04:22  profilanswer
 

alors la c'est encore moins clair...


---------------
Nos estans firs di nosse pitite patreye...
n°990005
skeye
Posté le 22-02-2005 à 16:05:15  profilanswer
 

[quote=989997,0,9,133772]kler, j'ai déjà du mal à comprendre ce qu'il veut faire...[/quote]
 
Il veut parcourir tous les résultats de sa requête ligne par ligne, c'est tout...:o
Et il aurait voulu récupérer toutes les lignes dans un tableau de lignes, parce-qu'il a pas réussit à faire fonctionner son while(mysql_fetch_row())


---------------
Can't buy what I want because it's free -
n°990009
Gravastar
Dude elle est où ma caisse ?
Posté le 22-02-2005 à 16:05:59  profilanswer
 

[quote=989997,0,9,133772]kler, j'ai déjà du mal à comprendre ce qu'il veut faire...[/quote]
 
par exemple :
 

Code :
  1. // traitement de la demande
  2.    if(!empty($_POST)){
  3.         
  4.              // formulation de la requete a la base de donnees
  5.              $query = 'SELECT *'. ' FROM `RESERVATION` '. 'WHERE ';
  6.              if ($_POST["category"]=="nom" ){
  7.                  $query.= 'nom_client=\''.$_POST["search"].'\'';
  8.              }
  9.                                           elseif ($_POST["category"]=="date" ){
  10.                  $query.= 'date_reservation=\''.$_POST["search"].'\'';
  11.              }
  12.                                           elseif ($_POST["category"]=="service" ){
  13.                  $query.= 'service=\''.$_POST["search"].'\'';
  14.              }
  15.              else {
  16.                                               $id=substr($_POST["search"], 8);
  17.                  $query.= 'id=\''.$id.'\'';
  18.              }
  19.    }
  20.    // recuperation des donnees
  21.    echo '<div class="scrollable">';
  22.                                
  23.                                 while ($reservation = mysql_fetch_row(mysql_query($query))){
  24.                                                                            
  25.                                         echo "reservation : ".$reservation."<br/>";
  26.     echo "<table class=\"reservation\">";
  27. /*------------------------------------------------------------------------------------------------------------------------------------------*/
  28. /*                                             traitement des reservations de limousine                                                     */
  29. /*------------------------------------------------------------------------------------------------------------------------------------------*/
  30.     if($reservation[4]=="limousine" ){
  31.             echo '<tr>';
  32.       echo '<td class="intitule">code<td/>';
  33.       $code = (db_to_date($reservation[1])).$reservation[0];
  34.       echo '<td class="contenu">'.$code.'<td/>';
  35.      echo '<tr/>';
  36.      echo '<tr>';
  37.       echo '<td class="intitule">service<td/>';
  38.       echo '<td class="contenu">'.$reservation[5].'<td/>';
  39.      echo '<tr/>';
  40.      echo '<tr>';
  41.       echo '<td class="intitule">date du transfer<td/>';
  42.       echo '<td class="contenu">'.$reservation[6].'<td/>';
  43.      echo '<tr/>';
  44.      echo '<tr>';
  45.       echo '<td class="intitule">nom du client<td/>';
  46.       echo '<td class="contenu">'.$reservation[2].' '.$reservation[3].'<td/>';
  47.      echo '<tr/>';
  48.      echo '<tr>';
  49.       echo '<td class="intitule">telephone<td/>';
  50.       $query_client = 'SELECT telephone FROM `CLIENT` WHERE nom = \''.$reservation[3].'\' AND prenom = \''.$reservation[2].'\'';
  51.       $res = mysql_fetch_row(mysql_query($query_client)) or die (mysql_error());
  52.                      $res = $res[0];
  53.       echo '<td class="contenu">'.$res.'<td/>';
  54.      echo '<tr/>';
  55.      echo '<tr>';
  56.       echo '<td class="intitule">email<td/>';
  57.       $query_client = 'SELECT email FROM `CLIENT` WHERE nom = \''.$reservation[3].'\' AND prenom = \''.$reservation[2].'\'';
  58.       $res = mysql_fetch_row(mysql_query($query_client)) or die (mysql_error());
  59.                      $res = $res[0];
  60.       echo '<td class="contenu"><a href="mailto:'.$res.'">'.$res.'</a><td/>';
  61.      echo '<tr/>';
  62.      echo '<tr>';
  63.       echo '<td class="intitule">nombre de passagers<td/>';
  64.       echo '<td class="contenu">'.$reservation[8].'<td/>';
  65.      echo '<tr/>';
  66.      echo '<tr>';
  67.       echo '<td class="intitule">nom d`un passager<td/>';
  68.       echo '<td class="contenu"><td/>';
  69.      echo '<tr/>';
  70.      echo '<tr>';
  71.       echo '<td class="intitule">adresse de residence<td/>';
  72.       echo '<td class="contenu">'.$reservation[9].'<td/>';
  73.      echo '<tr/>';
  74.      echo '<tr>';
  75.       echo '<td class="intitule">parcours<td/>';
  76.       echo '<td class="contenu">'.$reservation[18].'<td/>';
  77.      echo '<tr/>';
  78.      if ($reservation[10]=="CDG" || $reservation[10]=="Orly" ){
  79.       
  80.                                                          echo '<tr>';
  81.                echo '<td class="intitule">aeroport<td/>';
  82.                echo '<td class="contenu">'.$reservation[10].'<td/>';
  83.               echo '<tr/>';
  84.               echo '<tr>';
  85.                echo '<td class="intitule">numero du vol<td/>';
  86.                echo '<td class="contenu">'.$reservation[11].'<td/>';
  87.               echo '<tr/>';
  88.                                                          echo '<tr>';
  89.                echo '<td class="intitule">heure du vol<td/>';
  90.                echo '<td class="contenu">'.$reservation[7].'<td/>';
  91.               echo '<tr/>';
  92.               echo '<tr>';
  93.                echo '<td class="intitule">provenance<td/>';
  94.                echo '<td class="contenu">'.$reservation[12].'<td/>';
  95.               echo '<tr/>';
  96.      }
  97.      else {
  98.           
  99.               echo '<tr>';
  100.                echo '<td class="intitule">heure du transfer<td/>';
  101.                echo '<td class="contenu">'.$reservation[7].'<td/>';
  102.               echo '<tr/>';
  103.           
  104.      }
  105.      echo '<tr>';
  106.       echo '<td class="intitule">numero de carte<td/>';
  107.       echo '<td class="contenu">'.$reservation[21].'<td/>';
  108.      echo '<tr/>';
  109.      echo '<tr>';
  110.       echo '<td class="intitule">date d`expiration<td/>';
  111.       echo '<td class="contenu">'.$reservation[22].'<td/>';
  112.      echo '<tr/>';
  113.      echo '<tr>';
  114.       echo '<td class="intitule">les 3 chiffres<td/>';
  115.       echo '<td class="contenu">'.$reservation[23].'<td/>';
  116.      echo '<tr/>';
  117.      echo '<tr>';
  118.       echo '<td class="intitule">tarif';
  119.                                                         if ($reservation[26]=="false" ){
  120.                                                              echo '<img src="./picture_library/false.gif"/>';
  121.                                                         }
  122.                                                         else{
  123.                                                              echo '<img src="./picture_library/true.gif"/>';
  124.                                                         }
  125.                                                         echo'<td/>';
  126.       echo '<td class="contenu">'.$reservation[24].'<td/>';
  127.      echo '<tr/>';
  128.      if (!empty($reservation[25])){
  129.       echo '<tr>';
  130.        echo '<td class="intitule">commentaires<td/>';
  131.        echo '<td class="contenu">'.$reservation[25].'<td/>';
  132.       echo '<tr/>';
  133.      }
  134.     }// fin de traitement des limousines


 
(sachant que la boucle est mauvaise), je voudrait prospecter ma base de données pour trouver toutes les réservations qui y sont stockées, ayant telle personne comme client. Ensuite, à partir de toutes ces réservations, je voudrais faire un affichage.
Suis-je plus clair ?

n°990017
Gravastar
Dude elle est où ma caisse ?
Posté le 22-02-2005 à 16:08:10  profilanswer
 

[quote=990001,0,11,46149]Je t'ai donné la réponse, hein! [:dawa][/quote]
 
autant pour moi, j'ai les yeux dans le vague sans doute  :D

n°990021
skeye
Posté le 22-02-2005 à 16:08:40  profilanswer
 

Je suis transparent?
 
[quote=989984,6,0,46149]Normal.
Il faut faire comme ça :

Code :
  1. //exécution de la requete
  2. $result = mysql_query($query);
  3. //on boucle sur les résultats
  4. while($row = mysql_fetch_row($result)){
  5. //tes trucs.
  6. }


 
Là tu réexécutes la requête à chaque tour de boucle...[/quote]
 
[edit]
 
ah quand même!:o


Message édité par skeye le 22-02-2005 à 16:08:59

---------------
Can't buy what I want because it's free -

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  comment récupérer toutes les tables qui correspondent à une recherche

 

Sujets relatifs
recuperer la valeur de ce siteRécupérer l'arrivée du focus sur le contrôle
[Résolu][Perl/Gtk2] Récupérer les éléments d'un Gtk2::TreeViewrecherche d'un programme de poker
recherche de chaine de caractereRécupérer fichier mdb d'une version 1.x ( access sous win3.x)
Comment recuperer des infos system avec ZabbixRécupérer un nom de fichier Et...
récupérer une variable dont le nom est dynamique[Eclipse] Recuperer un nom de fichier
Plus de sujets relatifs à : comment récupérer toutes les tables qui correspondent à une recherche


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR