IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

récupération variable apres liste de choix


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 196
    Par défaut récupération variable apres liste de choix
    Bonjour,
    j'ai une table consommable avec en clé étrangere un codetype en relation avec le type consommable de ma table type.

    J'ai fais une selection dans une liste dont voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
    // affichage du produit sélectionné
    $req="select * from typeconso";
    $res=mysql_query($req) or die(mysql_error());
     $num=mysql_num_rows($res); // Equivalent Ã* $nb++ de la page listprod
     echo "$num type(s) trouvé(s) :<br>";
    echo '<form action="affprod.php" method="post">';
      echo "<h2>Liste des types par libéllé</h2>";
      echo "<p />Sélectionnez le type du produit :<p />";
      echo '<select name="typeprod" size="4">';
     
     while ($lig=mysql_fetch_array($res))
        {   
    	  echo '<option value = "'.$lig["libtype"].'">'.$lig["libtype"].' </option>';
     
     
        }
     
    $res=mysql_query($req) or die(mysql_error());
      echo "</select>";
     
      echo '<p /><input type="submit" value="Afficher le(s) produit(s)"><p />';
      echo "</form>";
    ?>
    Je clique sur mon type désiré et cela m'amène à cette page qui est censé afficher les produits en fonction du type selectionné.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    					<?php
    // recherche du produit sélectionné
     
    @$req="select * from consommable where codetype='".$_POST["$typeprod"]."';";
     echo "<h1> LE PRODUIT CHOISI </h1>";
      echo '<table>';
      echo "<tr><th>REFERENCE</th><th>DESIGNATION</th><th>PRIX</th><th>QUANTITE EN STOCK</th><th>DATE MODIFICATION</th></tr>";
      $res=mysql_query($req) or die(mysql_error());
    // affichage des valeurs du produit
      $lig=mysql_fetch_array($res);
     // {
        echo "<tr><td>".$lig[0]."</td><td>".$lig[1]."</td><td>".$lig[2]."</td><td>".$lig[3]."</td><td>".$lig[4]."</td></tr>";
     // }
      echo "</table>";
     
     
     
     
     
     
     
     
     
    ?>
    Mais voilà mon problème.
    Dans la seconde partie de code je ne sais pas comment receptionner le notype de la table typeconso qui est en liaison avec le reftype de la table consommable.
    J'ai pensé à faire passer en même temps dans le post ma variable notype via un hidden dans le input mais je ne sais pas si c'est la solution ni trop comment m'y prendre...

    Merci d'avance !

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    ça ne te tente pas d'utiliser AJAX?
    Sinon, dans le onchange du premier de select, tu faits un submit du formulaire.

    A+.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 196
    Par défaut
    Désolé je n'ai jamais utilisé ce langage et vu mes faibles connaissances en php je préfère déjà approfondir celle-ci avant de me lancer dans un autre langage.
    De plus je n'ai aps compris ce que tu expliquais.

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<select name="typeprod" size="4" onchange="this.form.submit()">';
    Tu récupères ensuite sa valeur par
    Fait une recherche sur le forum, ce problème est mainte fois résolus.

    A+.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 196
    Par défaut
    Il n'existe pas une façon plus simple de faire cela ?
    Une transmission via un echo dans le formulaire ?
    Malgré que je sois allé voir la documentation je ne comprends pas le onchange.
    Aurais tu un lien vers un des sujets dont tu me parles ?
    Je vais chercher de mon côté.

    EDIT :

    Quelque chose du genre ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    // affichage du produit sélectionné
    $req="select * from typeconso";
    $res=mysql_query($req) or die(mysql_error());
     $num=mysql_num_rows($res); // Equivalent à* $nb++ de la page listprod
     
     echo "$num type(s) trouvé(s) :<br>";
    echo '<form action="affprod.php" method="post">';
      echo "<h2>Liste des types par libéllé</h2>";
      echo "<p />Sélectionnez le type du produit :<p />";
      echo '<select name="typeprod" size="4">';
     
     while ($lig=mysql_fetch_array($res))
        {   
    	  echo '<option value = "'.$lig["libtype"].'">'.$lig["libtype"].' </option>';
    	 echo '<input type="hidden" input name="id" value="echo"'.$lig["notype"];' />';
        }
     
    $res=mysql_query($req) or die(mysql_error());
     
      echo "</select>";
     
      echo '<p /><input type="submit" value="Afficher le(s) produit(s)"><p />';
      echo "</form>";
    ?>
    et ça


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    					<?php
    // recherche du produit sélectionné
     
     
     
    @$req="select * from consommable where codetype='".$_POST["$id"]."';";
     
     echo "<h1> LE PRODUIT CHOISI </h1>";
      echo '<table>';
      echo "<tr><th>REFERENCE</th><th>DESIGNATION</th><th>PRIX</th><th>QUANTITE EN STOCK</th><th>DATE MODIFICATION</th></tr>";
      $res=mysql_query($req) or die(mysql_error());
    // affichage des valeurs du produit
      $lig=mysql_fetch_array($res);
     // { 
     
        echo "<tr><td>".$lig[0]."</td><td>".$lig[1]."</td><td>".$lig[2]."</td><td>".$lig[3]."</td><td>".$lig[4]."</td></tr>";
     // }
      echo "</table>";
     
     
     
     
     
     
     
     
     
    ?>

    Cela ne fonctionne pas mais dans cette voie là cela ne fonctionnerait pas ?

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Désolé, j'ai loupé une ligne
    Je clique sur mon type désiré et cela m'amène à cette page qui est censé afficher les produits en fonction du type selectionné.
    j'ai cru que c'est dans une seule page .
    while ($lig=mysql_fetch_array($res))
    {
    echo '<option value = "'.$lig["libtype"].'">'.$lig["libtype"].' </option>';
    echo '<input type="hidden" input name="id" value="echo"'.$lig["notype"];' />';
    }
    Tu ne dois avoir que des options dans le select mais pas d'autre élément.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req="select * from consommable where codetype='".$_POST["typeprod"]."';";
    echo $req;//pour verification seulement
    Sinon libtype est le clé primaire de la table typeconso?
    Je te conseille de lire ce tuto avant de continuer.

    A+.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/01/2014, 10h43
  2. Récupération variable après upload en flash !
    Par benenutz dans le forum Intégration
    Réponses: 0
    Dernier message: 18/01/2011, 10h27
  3. Récupération liste de choix après filtre
    Par p0l1n dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/05/2010, 21h48
  4. [Access] Récupération d'une liste de choix
    Par Just-Soft dans le forum Bases de données
    Réponses: 6
    Dernier message: 31/03/2009, 09h46
  5. Réponses: 5
    Dernier message: 09/05/2006, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo