transferts de requête

transferts de requête - PHP - Programmation

Marsh Posté le 14-06-2006 à 15:49:31    

alors j'ai fait un formulaire qui fait selectionner un type de produit dans une liste deroulante et de là en selectionnant j'ai tous les produits de ce type qui s'affiche. Seulement pour ca j'ai fait une requête :
 

Code :
  1. $query = "select CODE,MARQUE,REF,DESIGNATION from produit where type='".addslashes($_POST['liste'])."'";
  2.     $results = mysql_fetch_array($query)
  3.     while($row=mysql_fetch_array($results))
  4.     {
  5.      echo "<option value=\"".$row['code']."\">".$row['code']."</option>";


 
mais letruc c'est que la ref va aller dans un textbox, le prix idem.....  
Ne serait-il pas plus simple de faire une requête pour chaque truc??
De plus, comment je mets le résultat de la requête dans la textbox. Elle a un nomdonc je pense qu'il faut l'utiliser.
 
merci de votre aide

Reply

Marsh Posté le 14-06-2006 à 15:49:31   

Reply

Marsh Posté le 14-06-2006 à 15:52:53    

il te manque le mysql_query()

Code :
  1. $query = 'SELECT..... WHERE...... ' ;
  2. $Exe = mysql_query($query) ;
  3. while ( $row = mysql_fetch_array($Exe))
  4. {
  5. .....
  6. }


Message édité par the_bigboo le 14-06-2006 à 15:53:10
Reply

Marsh Posté le 14-06-2006 à 15:55:29    

donc en fait ma deuxième ligne j'ai à chnager mysql_fetch_array en mysql_query ??

Reply

Marsh Posté le 14-06-2006 à 15:55:49    

il te faut les deux, regarde ce que je t'ai donné !

Reply

Marsh Posté le 14-06-2006 à 15:58:08    

ok  merci. donc je ne fais que une requête pour la totalité de ce que je veux. Mais pour affecter la ref dans la première text box y'a un truc spécial à écrire? je pense que oui mais je dirai quelle est la fonction ou les balisesà utiliser?

Reply

Marsh Posté le 14-06-2006 à 16:01:44    

princesse926 a écrit :


Ne serait-il pas plus simple de faire une requête pour chaque truc??


 
Perso, je ferais ça en objet, si tu as pas mal de tables, et pas mal de requetes à faire... Ceci dit, ça marche très bien comme tu fais, mais si tu veux juste récupérer le troisieme champ d'une table, t'es obligé d'itérer pour rien, ou de faire une autre requete...

Reply

Marsh Posté le 14-06-2006 à 16:05:37    

si c'est ce que je pensais. parce que j'ai besoin de récupérer chaque truc genre la ref à mettre dans une textbox, la designation ailleurs. Donc oui je pense que je vais faire plusieurs requêtes. De toute facon je n'ai qu'une table. Maintenant une fois les requêtes faites et les resultats stockés dans une variable, je dois utiliser quoi pour mettre le résultat de ma requête dans une textbox?

Reply

Marsh Posté le 14-06-2006 à 16:18:00    

Bin, dans ton while, un truc du genre

Code :
  1. print "<input type=\"text\" name=\"truc\" value=\"".$machin."\"/>";

Reply

Marsh Posté le 14-06-2006 à 16:19:18    

voilamon nouveau code

Code :
  1. <html>
  2. <head>
  3. <title> produit list‚ </title>
  4. </head>
  5. <body>
  6.   REF    <input type="text" name="reference"><tab>
  7.        <input type="text" name="image"> <BR><br><BR><BR><br>
  8.        <input type="text" name="description"> <br><br><br>
  9.   PRIX H.T  <input type="text"name="vignette"> <BR><BR><BR><BR>
  10.   <?
  11.     //on se connecte au serveur  
  12.     $db = mysql_connect("localhost" ,"root", "" ) or die ("erreur de connection" );
  13.     //selection de la base
  14.     mysql_select_db("jade", $db);
  15.     $query = "select CODE from produit where type='".addslashes($_POST['liste'])."'"
  16.     $results = mysql_query($query) ;
  17.     while($row=mysql_fetch_array($results))
  18.     {
  19.      echo "<option value=\"".$row['code']."\">".$row['code']."</option>";
  20.     }
  21.     $query = "select DESIGNATION from produit where DESIGNATION='".addslashes($_POST['liste'])."'"
  22.     $resultat = mysql_query($query) ;
  23.     while($row=mysql_fetch_array($resultat))
  24.     {
  25.      echo "<option value=\"".$row['DESIGNATION']."\">".$row['DESIGNATION']."</option>";
  26.     }
  27.     $query = "select PRIX H.T. from produit where PRIX H.T.='".addslashes($_POST['liste'])."'"
  28.     $req = mysql_query($query) ;
  29.     while($row=mysql_fetch_array($req))
  30.     {
  31.      echo "<option value=\"".$row['PRIX H.T.']."\">".$row['PRIX H.T.']."</option>";
  32.     }
  33.   ?>
  34.  </body>
  35. </html>

Reply

Marsh Posté le 14-06-2006 à 16:23:40    

Et ? ça fais pas ce que tu veux ?
 
Edit : euh, tu mets le résultat de chaque requêtes dans un "option", comme pour faire une liste déroulante, mais t'as pas de "select". Ou alors, c'est moi qui ne pige rien, ce qui est fort possible. :sleep:


Message édité par Glock21 le 14-06-2006 à 16:25:56
Reply

Marsh Posté le 14-06-2006 à 16:23:40   

Reply

Marsh Posté le 14-06-2006 à 16:28:44    

ben en fait mon select est sur l'autrepage la première et quand je clique sur un élément de la liste déroulante alors ca me renvoie sur la deuxième page avec les resultats. IL me dit que j'ai une erreur à la ligne 26

Reply

Marsh Posté le 14-06-2006 à 16:31:09    

T'as oublier le ";" a la fin de ta requete.
 
Edit : de TES requêtes !^^ :)


Message édité par Glock21 le 14-06-2006 à 16:31:43
Reply

Marsh Posté le 14-06-2006 à 16:50:26    

princesse926 a écrit :

ben en fait mon select est sur l'autrepage la première et quand je clique sur un élément de la liste déroulante alors ca me renvoie sur la deuxième page avec les resultats. IL me dit que j'ai une erreur à la ligne 26


donc tu mets ton <select> sur une page et ensuite les <option> qui vont avec dans une autre page, et tu as l'impression que c'est normal? [:autobot]


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

Marsh Posté le 14-06-2006 à 16:51:14    

j'ai rajouté les ; après mes requêtes. J'ai des erreurs :

Code :
  1. Notice: Undefined index: liste in c:\documents and settings\amandine\mes documents\projet_jade\page\page_produit.php on line 25
  2. Notice: Undefined index: code in c:\documents and settings\amandine\mes documents\projet_jade\page\page_produit.php on line 30
  3. Notice: Undefined index: code in c:\documents and settings\amandine\mes documents\projet_jade\page\page_produit.php on line 30
  4. Notice: Undefined index: liste in c:\documents and settings\amandine\mes documents\projet_jade\page\page_produit.php on line 34
  5. Notice: Undefined index: DESIGNATION in c:\documents and settings\amandine\mes documents\projet_jade\page\page_produit.php on line 38
  6. Notice: Undefined index: DESIGNATION in c:\documents and settings\amandine\mes documents\projet_jade\page\page_produit.php on line 38
  7. Notice: Undefined index: liste in c:\documents and settings\amandine\mes documents\projet_jade\page\page_produit.php on line 42
  8. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\documents and settings\amandine\mes documents\projet_jade\page\page_produit.php on line 44

Reply

Marsh Posté le 14-06-2006 à 16:55:14    

daccord je viens de comprendre
je fais la liste deroulante avec toutes les requêtes sur une page et sur l'autre page j'affcihe les résultats grace aux variables ou j'ai stocké les resultats??

Reply

Sujets relatifs:

Leave a Replay

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