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

  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire PHP avec access.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire PHP avec access.

n°1714505
filoulebau​ju
Posté le 08-04-2008 à 16:41:52  profilanswer
 

Bonjour,
 
Je vais essayer d'être le plus clair possible.
 
L'entreprise comporte plusieurs magasins situés à plusieurs endroits différents.
Malheureusement, tous ces magasins n'ont pas les même articles. :heink:  
C'est pour cela que je voudrais créer un formulaire qui me permettrai de choisir le magasin ainsi que les articles dispo dans ce magasin.
 
Le truc étant de sortir des statistiques de ces produits (mais ça on en viendra plus tard  :D )
Je voudrais aussi la possibilité d'ajouter d'autre magasins ou d'autres articles à la recherche.
 
Donc étant très amateur en Php, j'ai déjà réussi à faire cela: (bien sur ya rien qui marche.)
 

Code :
  1. <?php
  2. $odbc = odbc_connect('Annecy_central','root','') or die("Could Not Connect to ODBC Database!" );
  3. ?>
  4. <HTML>
  5. <link rel="stylesheet" media="screen" type="text/css" href="design.css" />
  6. <form method="POST" action="choix_art.php">
  7.    <fieldset>
  8.         <legend>Choix d'un article:</legend>
  9.  <form method="GET" action="">
  10.  <label for="mag">Quel magasin?</label><br />
  11.  <select name="pays" id="pays" tabindex="40">
  12.            <optgroup label="Haute-Savoie">
  13.                <option value="BIO">Le Biot</option>
  14.                <option value="DOU">Douvaine</option>
  15.                <option value="GRO">Groisy</option>
  16.                <option value="FIL">Fillinges</option>
  17.      <option value="SAL">Sales</option>
  18.            </optgroup>
  19.            <optgroup label="Savoie">
  20.                <option value="COM">La Compôte</option>
  21.            </optgroup>
  22.        </select>
  23.    <input type="submit" name="envoi" value="Télécharger" />
  24.  <br><?php switch($_GET['pays']){
  25.  case "BIO": echo "Le Biot: "; break;
  26.  case "DOU": echo "Douvaine "; break;
  27.  case "COM": echo "La Compôte "; break;
  28.  case "FIL": echo "Fillinges "; break;
  29.  case "SAL": echo "Sales "; break;
  30.  case "GRO": echo "Groisy "; break;}?>
  31.        <label for="art">Quel article?</label><br />
  32.    <?php
  33.    switch($_GET['pays']){
  34.  case "BIO":
  35.  $query = "SELECT Nom from BIO_Article;"; 
  36.  $result = odbc_do ($odbc,$query);
  37.  echo '  <select name="art" id="art">';
  38.  while ($ligne=odbc_fetch_array($result))
  39.  {
  40.  echo '<option>'.$ligne["Nom"].'</option>';
  41.  }
  42.  echo '</select>'; break;
  43.  //------------------------------------------------
  44.  case "DOU":
  45.  $query = "SELECT Nom from DOU_Article;"; 
  46.  $result = odbc_do ($odbc,$query);
  47.    echo '  <select name="art" id="art">';
  48.    while ($ligne=odbc_fetch_array($result))
  49.  {
  50.  echo '<option>'.$ligne["Nom"].'</option>';
  51.  }
  52.  echo '</select>'; break;
  53.  //------------------------------------------------
  54.  case "COM":
  55.  $query = "SELECT Nom from COM_Article;"; 
  56.  $result = odbc_do ($odbc,$query);
  57.    echo '  <select name="art" id="art">';
  58.    while ($ligne=odbc_fetch_array($result))
  59.  {
  60.  echo '<option>'.$ligne["Nom"].'</option>';
  61.  }
  62.  echo '</select>'; break;
  63.  //------------------------------------------------
  64.  case "FIL":
  65.  $query = "SELECT Nom from FIL_Article;"; 
  66.  $result = odbc_do ($odbc,$query);
  67.    echo '  <select name="art" id="art">';
  68.    while ($ligne=odbc_fetch_array($result))
  69.  {
  70.  echo '<option>'.$ligne["Nom"].'</option>';
  71.  }
  72.  echo '</select>'; break;
  73.  //------------------------------------------------
  74.  case "SAL":
  75.  $query = "SELECT Nom from SAL_Article;"; 
  76.  $result = odbc_do ($odbc,$query);
  77.    echo '  <select name="art" id="art">';
  78.    while ($ligne=odbc_fetch_array($result))
  79.  {
  80.  echo '<option>'.$ligne["Nom"].'</option>';
  81.  }
  82.  echo '</select>'; break;
  83.  //------------------------------------------------
  84.  case "GRO":
  85.  $query = "SELECT Nom from GRO_Article;"; 
  86.  $result = odbc_do ($odbc,$query);
  87.    echo '  <select name="art" id="art">';
  88.    while ($ligne=odbc_fetch_array($result))
  89.  {
  90.  echo '<option>'.$ligne["Nom"].'</option>';
  91.  }
  92.  echo '</select>'; break;
  93. }
  94. ?>
  95.  
  96.    </fieldset>
  97.    <fieldset>
  98.    <form method="post" action="">
  99.        <legend>Vous voulez:</legend>
  100.        <p>
  101.            Que voulez-vous rajouter? :<br />
  102.   <input type="radio" name="souhait" value="mag_sup" id="mag_sup" tabindex="40" /> <label for="mag_sup">Ajouter un magasin</label><br />
  103.   <input type="radio" name="souhait" value="art_sup" id="art_sup" tabindex="40" /> <label for="art_sup">Ajouter un article.</label><br />
  104.  </p>
  105.  <input type="submit" value="Ajouter"/> <input type="reset" />
  106.    </fieldset>
  107.    <p>
  108.        <input type="submit" /> <input type="reset" />
  109.    </p>
  110.  
  111. </form>
  112. </html>


 
J'explique un peu mon code, je me connecte à la base, j'affiche la première liste déroulante et une fois que j'ai choisi mon site, je clique sur "telecharger" et hop la deuxième liste qui contient les produits relatifs à ce magasins apparaissent. (pas reussi à faire ça en JS)
 
Le soucis est qu'après ben ya rien qui marche.
 
Si vous avez pris le temps de tout lire, je vous remercie.
Si vous avez une idée, elle est la bienvenue.

mood
Publicité
Posté le 08-04-2008 à 16:41:52  profilanswer
 

n°1714515
babasss
Posté le 08-04-2008 à 16:54:41  profilanswer
 

HS : A la place de tout le code ci-dessous :  

Code :
  1. <?php
  2.        switch($_GET['pays']){
  3.         case "BIO":
  4.         $query = "SELECT Nom from BIO_Article;";  
  5.         $result = odbc_do ($odbc,$query);
  6.  
  7.         echo '  <select name="art" id="art">';
  8.         while ($ligne=odbc_fetch_array($result))
  9.         {
  10.         echo '<option>'.$ligne["Nom"].'</option>';
  11.         }
  12.         echo '</select>'; break;
  13.         //------------------------------------------------
  14.         case "DOU":
  15.         $query = "SELECT Nom from DOU_Article;";  
  16.         $result = odbc_do ($odbc,$query);
  17.  
  18.        echo '  <select name="art" id="art">';
  19.        while ($ligne=odbc_fetch_array($result))
  20.         {
  21.         echo '<option>'.$ligne["Nom"].'</option>';
  22.         }
  23.         echo '</select>'; break;
  24.         
  25.         //------------------------------------------------
  26.         case "COM":
  27.         $query = "SELECT Nom from COM_Article;";  
  28.         $result = odbc_do ($odbc,$query);
  29.  
  30.        echo '  <select name="art" id="art">';
  31.        while ($ligne=odbc_fetch_array($result))
  32.         {
  33.         echo '<option>'.$ligne["Nom"].'</option>';
  34.         }
  35.         echo '</select>'; break;
  36.         
  37.         //------------------------------------------------
  38.         case "FIL":
  39.         $query = "SELECT Nom from FIL_Article;";  
  40.         $result = odbc_do ($odbc,$query);
  41.  
  42.        echo '  <select name="art" id="art">';
  43.        while ($ligne=odbc_fetch_array($result))
  44.         {
  45.         echo '<option>'.$ligne["Nom"].'</option>';
  46.         }
  47.         echo '</select>'; break;
  48.         
  49.         //------------------------------------------------
  50.         case "SAL":
  51.         $query = "SELECT Nom from SAL_Article;";  
  52.         $result = odbc_do ($odbc,$query);
  53.  
  54.        echo '  <select name="art" id="art">';
  55.        while ($ligne=odbc_fetch_array($result))
  56.         {
  57.         echo '<option>'.$ligne["Nom"].'</option>';
  58.         }
  59.         echo '</select>'; break;
  60.         
  61.         //------------------------------------------------
  62.         case "GRO":
  63.         $query = "SELECT Nom from GRO_Article;";  
  64.         $result = odbc_do ($odbc,$query);
  65.  
  66.        echo '  <select name="art" id="art">';
  67.        while ($ligne=odbc_fetch_array($result))
  68.         {
  69.         echo '<option>'.$ligne["Nom"].'</option>';
  70.         }
  71.         echo '</select>'; break;
  72. }
  73. ?>


Tu pourrais simplement mettre :

Code :
  1. $query = "SELECT Nom from ".$_GET['pays']."_Article;";  
  2.         $result = odbc_do ($odbc,$query);
  3.  
  4.         echo '  <select name="art" id="art">';
  5.         while ($ligne=odbc_fetch_array($result))
  6.         {
  7.         echo '<option>'.$ligne["Nom"].'</option>';
  8.         }
  9.         echo '</select>';



---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1714519
filoulebau​ju
Posté le 08-04-2008 à 16:58:31  profilanswer
 

oui désolé, mais ma demande n'étant pas très claire, je pensais qu'il était préférable de mettre tout le code de manière a ce que tout le monde comprenne.

n°1714532
babasss
Posté le 08-04-2008 à 17:07:04  profilanswer
 

J'ai bisouillé qq passages pour que ca soit plus correct (cf post précédent) et j'ai corrigé une erreur de html (on ne peux pas imbriquer des form !!!)
Dis moi si c'est mieux ?

Code :
  1. <?php
  2. $odbc = odbc_connect('Annecy_central','root','') or die("Could Not Connect to ODBC Database!" );
  3. ?>
  4. <HTML>
  5. <link rel="stylesheet" media="screen" type="text/css" href="design.css" />
  6.   <fieldset>
  7.        <legend>Choix d un article:</legend>
  8. <form method="GET" action="">
  9. <label for="mag">Quel magasin?</label><br />
  10. <select name="pays" id="pays" tabindex="40">
  11.           <optgroup label="Haute-Savoie">
  12.               <option value="BIO">Le Biot</option>
  13.               <option value="DOU">Douvaine</option>
  14.               <option value="GRO">Groisy</option>
  15.               <option value="FIL">Fillinges</option>
  16.     <option value="SAL">Sales</option>
  17.           </optgroup>
  18.           <optgroup label="Savoie">
  19.               <option value="COM">La Compôte</option>
  20.           </optgroup>
  21.       </select>
  22.   <input type="submit" name="envoi" value="Télécharger" />
  23. </form>
  24. <br>
  25. <form method="POST" action="choix_art.php">
  26. <?php
  27. if (isset($_GET['pays'])
  28. {
  29.  switch($_GET['pays'])
  30.  {
  31.   case "BIO": echo "Le Biot: "; break;
  32.   case "DOU": echo "Douvaine "; break;
  33.   case "COM": echo "La Compôte "; break;
  34.   case "FIL": echo "Fillinges "; break;
  35.   case "SAL": echo "Sales "; break;
  36.   case "GRO": echo "Groisy "; break;
  37.  }
  38.  echo '<label for="art">Quel article?</label><br />';
  39.  
  40.  $query = "SELECT Nom from ".$_GET['pays']."_Article;";
  41.  $result = odbc_do ($odbc,$query);
  42.  echo '  <select name="art" id="art">';
  43.  while ($ligne=odbc_fetch_array($result))
  44.  {
  45.  echo '<option>'.$ligne["Nom"].'</option>';
  46.  }
  47.  echo '</select>';
  48. }
  49. ?>
  50. </form>
  51.   </fieldset>
  52.   <fieldset>
  53.   <form method="post" action="">
  54.       <legend>Vous voulez:</legend>
  55.       <p>
  56.           Que voulez-vous rajouter? :<br />
  57.  <input type="radio" name="souhait" value="mag_sup" id="mag_sup" tabindex="40" /> <label for="mag_sup">Ajouter un magasin</label><br />
  58.  <input type="radio" name="souhait" value="art_sup" id="art_sup" tabindex="40" /> <label for="art_sup">Ajouter un article.</label><br />
  59. </p>
  60. <input type="submit" value="Ajouter"/> <input type="reset" />
  61.   </fieldset>
  62.   <p>
  63.       <input type="submit" /> <input type="reset" />
  64.   </p>
  65. </form>
  66. </html>


Message édité par babasss le 08-04-2008 à 17:24:13

---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1714540
filoulebau​ju
Posté le 08-04-2008 à 17:19:35  profilanswer
 

La base de données étant à l'entreprise, je peux pas tester immédiatement.
Je te redis demain
 
Mais si tu vois d'autre erreurs n'hésite pas ;).
 
merci beaucoup

n°1714544
babasss
Posté le 08-04-2008 à 17:23:23  profilanswer
 

A prioiri non, ce que je te conseille c'est de procéder par étapes :

  • Faire que le premier formulaire marche => renvoi d'une url mapage.php?pays=mavaleurselectionne
  • Affichage de la deuxième partie pour le bon pays
  • ...


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1714746
filoulebau​ju
Posté le 09-04-2008 à 08:07:06  profilanswer
 

Tout marche très bien à part le if (isset($_GET['pays']) qui me renvoie un unexpected {
 
si j'enlève ce if (isset($_GET['pays']) ca marche très bien.
 
Pour ce qui est du choix du magasin, c'est très bien, le problème est que quand je clique télécharger, il me trouve bien la liste d'article qui va avec, mais la première liste déroulante retourne sur sa premirèe valeur.

n°1714790
babasss
Posté le 09-04-2008 à 09:28:37  profilanswer
 

POur sélectionner automatiquement dans une liste déroulante il faut avoir le code suivant : <option value="XXX" selected="selected">XXX</option>
Donc, il faut que tu rajoutes sur chaque option un code du style  
<option value="XXX" <php if($_GET['pays'] == 'XXX') { echo 'selected="selected"'; } ?> >Le Biot</option>


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
n°1714799
filoulebau​ju
Posté le 09-04-2008 à 09:48:51  profilanswer
 

Merci babass.
 
Par contre, j'ai cette erreur au niveau du if (isset($_GET['pays']):
 
Parse error: syntax error, unexpected '{' in formulaire2.php on line 54.

n°1714805
babasss
Posté le 09-04-2008 à 09:57:19  profilanswer
 

C'est parce que j'ai fait une faute, il manque une parenthèse pour fermer le if:
=> if (isset($_GET['pays']))


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
mood
Publicité
Posté le 09-04-2008 à 09:57:19  profilanswer
 

n°1714807
filoulebau​ju
Posté le 09-04-2008 à 10:02:40  profilanswer
 

je l'avais vu et j'étais en train de poster quand tu as répondu ;)

n°1714995
filoulebau​ju
Posté le 09-04-2008 à 14:05:03  profilanswer
 

Je te remercie Babasss, je vais essayer de continuer un peu tout seul et éviter de te déranger plus, mais si j'ai un problème, je revient t'embetter!
 
@+


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

  Formulaire PHP avec access.

 

Sujets relatifs
VBA ACCESS erreur 3202Commande php lors d'un clique
Learning management system en PHP[access] comparateur de prix sous
PHP objet, séparer le fond de la formePHP POO: Questions existencielle de débutant
PHP : générer un fichier PDF côté serveur et l'imprimer côté clientsql access probleme de requete
[Php] Afficher quelque chose dans une while(1)Générer des fichiers Excel en PHP sur un serveur Linux
Plus de sujets relatifs à : Formulaire PHP avec access.


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