Cherche une syntaxe php

lokardz Messages postés 91 Statut Membre -  
 Utilisateur anonyme -
bonsoir et merci pour la qualité des réponses

je cherche a remplir une liste déroulante d'un champ de table bdd

<code><select name="select" id="select" value="<?php echo<tr> <td>".$ligne[0]."</td></tr>?>"> </select><code>

je c pas trop

8 réponses

  1. Utilisateur anonyme
     
    Bonsoir

    Les différentes valeurs d'une liste déroulante n'apparaissent pas dans la balise <SELECT> mais dans les <OPTION>:
    <select name="select" id="select" >
    <?php
    while ($ligne=mysql_fetch_array($resultat)) { // si tu travailles avec les fonctions mysql_
    ?>
    <option value="<?php echo $ligne[0] ?>"><?php echo $ligne[0] ?></option>
    <?php
    }
    ?>
    </select>
    0
    1. lokardz Messages postés 91 Statut Membre 3
       
      merci beaucoup ça marche, j'ai une question quand l'utilisateur sélectionne dans le menu déroulant un choix et remplir un formulaire je veux récupère la valeur d'un champ dans la même ligne de la table

      table type produit1
      -id_1
      -type_1 le champ est dans la liste déroulante
      -prix_2


      je veux récupérer le prix_2 qui dépend du type et l'additionné avec un autre champ d'une autre table produit2

      table type produit2
      -id_2
      -type_2 je champ est dans une deuxième liste déroulante
      -prix_2


      j'espère que je me suis fait comprendre, encore une fois merci
      0
  2. lokardz Messages postés 91 Statut Membre 3
     
    merci mon père pour cette réponse, je vais essayer le code
    0
  3. Utilisateur anonyme
     
    Non, je ne comprends rien

    quand l'utilisateur sélectionne dans le menu déroulant un choix et remplir un formulaire Quel formulaire ?
    je veux récupère la valeur d'un champ Quel champ ?
    dans la même ligne de la table Quelle ligne ? Quelle table ?
    0
    1. lokardz Messages postés 91 Statut Membre 3
       
      la liste déroulante est alimenter par une colonne [type-produit], dans une table produit
      quand l'utilisateur sélectionne un choix dans cette liste je veux récupère la valeur du prix associer a ce type de produit

      exemple : s'il choisie l'écran je veux récupérer la valeur du prix en l'occurrence 100

      table produit

      id ------------------------ type_produit ------------------------ prix
      0 ------------------------ clavier ------------------------ 12
      1 ------------------------ écran ------------------------ 100
      2------------------------ lap top ------------------------ 500
      3------------------------ écouteur------------------------ 8


      l'essentielle est de récupérer le prix dans un champ hidden pour faire un calcule dessus
      0
  4. Utilisateur anonyme
     
    Tu veux récupérer cette valeur en Javascript, pour faire le calcul immédiatement dans le navigateur du client, ou sur le serveur après validation du formulaire ?
    0
    1. lokardz Messages postés 91 Statut Membre 3
       
      avant ou après peut importe
      l'essentielle que le résultat soit enregistrer dans une base de donnée
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    Dans ce cas, pas besoin de champ hidden : tu mets l'id du produit dans le "value" de chaque balise <OPTION>,.
    Quand tu reçois le formulaire, c'est cet id que tu récupères, ce qui te permet en interrogeant la base de données de retrouver toutes les caractéristiques du produit son nom, son prix et d'autres s'il y en a.
    0
    1. lokardz Messages postés 91 Statut Membre 3
       
      //type de produit
      <select name="produit" id="produit" >
      <?php
      $dr=mysql_query("select * from produit ");

      while ($ligne=mysql_fetch_array($dr)) { // liste déroulante type de produit select_
      ?>
      <option value="<?php echo $ligne[0] ?>"><?php echo $ligne[1] ?></option>
      <?php
      }
      ?>
      </select>
      //
      sachant que $ligne[0] : correspond a ID du produit ,$ligne[1] : correspond au type de produit
      $ligne[3] : correspond au prix du produit
      //


      // type de traitement
      <select name="traitement" id="traitement" >
      <?php
      $dr=mysql_query("select * from traitement ");

      while ($ligne=mysql_fetch_array($dr)) { // liste déroulante type de traitement select_
      ?>
      <option value="<?php echo $ligne[1] ?>"><?php echo $ligne[1] ?></option>
      <?php
      }
      ?>
      </select>
      //
      sachant que $ligne[0] : correspond a ID du traitement,$ligne[1] : correspond au type du traitment
      $ligne[3] : correspond au prix du traitement
      //
      </code>



      mais comment je doit faire pour que les deux prix s'additionne,


      merci encore une fois pour l'aide que vous m'apportez
      0
  7. Utilisateur anonyme
     
    Ce n'est pas à ce moment là que tu fais le calcul, car à ce point du script le visiteur n'a encore rien sélectionné.
    Quand tu reçois le formulaire, tu récupères dans $_POST['produit'] et $_POST['traitement'] les id du produit et du traitement. Grâce à ces id, tu retrouves dans ta base les prix et tu les additionnes.
    0
    1. lokardz Messages postés 91 Statut Membre 3
       
      c'est cette étape là qui m'échappe en fin je connais pas

      récapitulatif du code

      <select name="produit" id="produit" >

      <?php ....
      ....?>

      </select>
      <select name="traitement" id="traitement" >
      ....
      .....
      </select>

      <input type="submit" name="envoyer" id="envoyer" value="Enregistrer" />

      <?php
      if (isset($_POST['envoyer']))
      {

      if ( (isset($_POST[produit])) && (isset($_POST['traitement'])) )

      {
      $txt1 = $_POST[produit];
      $txt2 = $_POST[traitment];

      $requete =mysql_query("INSERT INTO commande Value('','$txt1','$txt2')");
      $exec = mysql_query($requete);
      header('location:voir_la _liste_des_commande.php');
      }
      else {
      echo "connexion impossible";
      }

      }


      ?>




      table commande : est celle ou je veux insérer les données du formulaire

      la table commande contient

      type_de_produit
      type_de_traitement
      prix_totale

      et pour le calcule ? comment dois-je faire
      0
    2. lokardz Messages postés 91 Statut Membre 3
       
      j'ai eu une réponse que j'arrive pas à intégré dans mon code



      $idProd = intval($_POST['id_produit']);
      $idTrait = intval($_POST['id_traitement']);

      // Ici il faut vérifier que le produit et le traitement existent bel et bien
      // ...

      $req = 'SELECT SUM(price) AS prixTotal FROM (';
      $req .= 'SELECT prix_type_de_produit AS price FROM produit WHERE id = '.$idProd;
      $req .= ' UNION ';
      $req .= 'SELECT prix_traitement AS price FROM traitement WHERE id = '.$idTrait
      $req .= ') tmp';

      $result = mysql_query($req);
      $data = mysql_fetch_assoc($result);

      echo $data['prixTotal']; // Le prix de la commande
      0
  8. Utilisateur anonyme
     
    Pourquoi veux-tu trouver directement la somme des deux prix en une seule requête ? Va chercher chacun des prix séparément, puis fais l'addition en PHP
    0
    1. lokardz Messages postés 91 Statut Membre 3
       
      voullez vous dire un truc dans ce genre là




      <select name="produit" id="produit" >
      <?php ....
      ....?>
      </select>
      <select name="traitement" id="traitement" >
      ....
      </select>
      <input type="submit" name="envoyer" id="envoyer" value="Enregistrer" />
      <?php
      if (isset($_POST['envoyer']))
      {

      if ( (isset($_POST[produit])) && (isset($_POST['traitement'])) )

      {
      $txt1 = $_POST[produit];
      $txt2 = $_POST[traitment];
      $requete =mysql_query("INSERT INTO commande Value('','$txt1','$txt2')");
      $exec = mysql_query($requete);
      header('location:voir_la _liste_des_commande.php');
      ///////////////////////////////////////////////////////////////////////////////////////////////////////////
      //je recupere le type qui a été selectionné par user
      $requete0 =mysql_query("SELECT type_de_produit FROM commande");
      $exec0 = mysql_query($requete0);
      ?>
      // je le stock en hidden le type de produit de la table commande
      <input type="hidden" name="type_ptoduit" id="h1" value="<?php echo $ligne[2] ?>">
      <?php
      if (isset($_POST['type_produit']))
      {
      $p = $_POST['type_produit'];
      //je recupere le prix a partir de la table commande avec condition type_de_produit = le type séléctionné par le user
      $requete1 =mysql_query("SELECT prix_produit FROM produit where type_de_produit='p' ");
      $exec1 = mysql_query($requete1);
      ?>
      <input type="hidden" name="prix_produit" id="prix_produit" value="<?php echo $ligne[2] ?>">
      <?
      }
      ?>
      //////////////////////////////////////////////////////////////////////////////////////////////////
      // traitement

      //je recupere le type qui a été selectionné par user
      <?php
      $requete0 =mysql_query("SELECT type_de_traitement FROM traitement");
      $exec0 = mysql_query($requete0);
      ?>
      // je le stock en hidden le type de traitementde la table commande
      <input type="hidden" name="type_traitement" id="h1" value="<?php echo $ligne[2] ?>">
      <?php
      if (isset($_POST['type_traitement']))
      {
      $p1 = $_POST['type_traitement'];
      //je recupere le prix a partir de la table commande avec condition type de traitement = le type séléctionné par le user
      $requete2 =mysql_query("SELECT type_traitement FROM traitement where type_traitement ='p1' ");
      $exec2 = mysql_query($requete2);
      ?>
      // je stock le prix de traitment
      <input type="hidden" name="prix_produit" id="prix_produit" value="<?php echo $ligne[2] ?>">
      <?
      }
      ?>
      <?
      $prix1 = $_POST[prix_produit];
      $prix2 = $_POST[prix_traitement];

      $somme= $prix1 + $prix2 ;
      $requete3 =mysql_query("INSERT prix_total= '$somme' INTO commande ");
      $exec3 = mysql_query($requete3);
      ?>



      encore merci pour la qualité des réponses
      0
  9. Utilisateur anonyme
     
    Je suis désolé, mais je ne peux plus te consacrer tout le temps qu'il faudrait car visiblement tu n'as aucune notion de sql, ni non plus une notion très précise de comment marche un formulaire et comment on récupère ses données. Je crois qu'il te manque une formation de base, je t'invite à suivre des tutoriels comme ceux de openclassrooms (ex site du zéro) qui ont bonne réputation.
    Bonne chance pour la suite.
    0