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

PHP & Base de données Discussion :

Récupérer les informations générées dynamiquement


Sujet :

PHP & Base de données

  1. #1
    Membre Expert
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Par défaut Récupérer les informations générées dynamiquement
    Bonjour,

    voilà, j'ai un formulaire qui génère une liste box dynamiquement via mysql ok
    cette liste box créé aussi dynamiquement un formulaire ( en fonction de l'option choisi) ok

    maintenant je me demande quand je fais "envoyer" par la méthode post, comment je récupère dynamiquement les informations générées dynamiquement pour les mettre dynamiquement dans la base mysql.
    ok c'est pas très explicite loooool

    voilà mon code qui génère tout dynamiquement.
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <html>
    <body>
    <?php  
    $connexion=mysql_connect("localhost","root","");
    $db=mysql_select_db("maria",$connexion);
    $SQL='show tables;';
    $res=mysql_query($SQL) or die('erreur sur '.$SQL.'<br/>'.mysql_error());
    ?>
    <form name="ajoutmatos" method="post" action="<?php echo basename(__FILE__); ?>">
    Choisissez un mat&eacute;riel:<p>
    <select name="E_Actif" onchange="this.form.submit();" size="1" id="E_Actif">
    <?php
    //recupération des noms des tables dans la bdd
    while($val=mysql_fetch_array($res)) {
       echo "<option>".$val["Tables_in_maria"]."</option>\n";
    }
    ?>
    </select>
    </form>	
    <?php
    $Query ='Show fields from '.$_POST[E_Actif].';';
    $resQuery= mysql_query($Query); 	
    ?>
       <form name="<?php echo $_POST[E_Actif]; ?>" method="post" action="AjoutBase.php">
        <fieldset>
    <?php
     
      echo "<legend>Informations ".$_POST[E_Actif]."</legend>";
       while($result=mysql_fetch_array($resQuery)) {
             //echo $result["Field"]. "<br>";     
           echo "<label>".$result["Field"]."<input type=\"text\" name=\"".$result["Field"]."\" </label><br />";    
     
    	}
    	       echo "<input type=\"hidden\" name=\"".$_POST[E_Actif]."\" </label><br />";    
     
    ?>
    	</fieldset>
        <input type="submit" value="Envoyer" />
     </form>
     
    </body>
    </html>
    Quand je submit, comment je récupère $_POST[E_Actif] qui correspond au nom d'une table sélectionné et $result["Field"] qui correspond aux champs de cette table pour les insérer dynamiquement dans Mysql.

    j'ai lu les tutos mais là je sèche.

    Quand je dis dynamiquement, c'est pour ne pas mettre les nom en dur.

    Merci de votre aide.

    bye

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 39
    Par défaut
    Commence par faire print_r($_POST) et t'y verras beaucoup plus clair sur ce que ton formulaire balance.

  3. #3
    Membre Expert
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Par défaut
    Merci,
    j'ai déjà fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(!empty($_POST))
        //
        // Debug
        //
        echo '<pre>';
        print_r($_POST);
        echo '</pre>';
    }
    j'ai bien le contenu de mon $result["Field"] ( 3 champs )

    mais ça ne me dit pas de quel élément de la listebox ($_POST[E_Actif] ) il s'agit, car pour l'insertion dans la bdd il faut bien que je lui indique quelle table($_POST[E_Actif] ) et quelles informations $result["Field"] à ajouter.

    Merci de votre aide

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 39
    Par défaut
    Bah si, $_POST['E_Actif'] te donnera l'élément sélectionné dans la liste E_Actif, c'est le but.

    Pareil pour $_POST[$result['field']], ça contiendra la valeur saisie.

    Quel est le problème ?

  5. #5
    Membre Expert
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Par défaut
    Salut,

    dans le fichier ajoutbase.php
    je n'ai rien si je lui demande print_r($_POST['E_Actif']);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if(!empty($_POST))
        //
        // Debug
        //
        echo '<b>Variables</b> :<br />';
        echo '<pre>';
        print_r($_POST['E_Actif']);
    	print_r($_POST[$result['field']]);
        echo '</pre>';
    }
    Merci pour ton aide

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 39
    Par défaut
    J'avais mal lu ton formulaire... il faut que tu donnes des valeurs à tes <option>.

    <option value="truc"> où "truc" est ce que tu récupéreras dans ton $_POST.

  7. #7
    Membre Expert
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Par défaut
    salut,

    j'ai besoin de ton aide.
    mon "option " se situe là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while($val=mysql_fetch_array($res)) {
       echo "<option>".$val["Tables_in_maria"]."</option>\n";
    }
    ce qui me retourne les noms des tables. je ne sais pas ce que je dois mettre dans value vu que les données sont dynamique.

    Merci de ton aide.

  8. #8
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 199
    Par défaut
    Tu mets dans le value, une valeur dynamique aussi a priori.
    Une sorte d´identifiant de ton element option, ca peut peut-etre etre lui meme...

  9. #9
    Membre Expert
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Par défaut
    salut,

    je ne sais toujours pas comment récupérer dynamiquement dans ajoutbase.php mon $_POST[E_Actif] ( nom de la table selectionnée) et $result["Field"] (les champs de la table selectionnée) même en rajoutant la valeur dans value
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while($val=mysql_fetch_array($res)) {
       echo "<option value=\"".$val["Tables_in_maria"]."\">".$val["Tables_in_maria"]."</option>\n";
    }

  10. #10
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 199
    Par défaut
    Jette un oeil ici

  11. #11
    Membre Expert
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Par défaut
    salut

    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
    <form name="<?php echo $_POST[E_Actif]; ?>" method="post" action="AjoutBase.php">
        <fieldset>
    <?php
     
      echo "<legend>Informations ".$_POST[E_Actif]."</legend>";
       while($result=mysql_fetch_array($resQuery)) {
             //echo $result["Field"]. "<br>";     
           echo "<label>".$result["Field"]."<input type=\"text\" name=\"".$result["Field"]."\" </label><br />";    
     
    	}
     
    ?>
    	</fieldset>
        <input type="submit" value="Envoyer" />
     </form>
    donc je send via post $result["Field"] et sur ajoutbase.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $connexion=mysql_connect("localhost","root","");
    $db=mysql_select_db("maria",$connexion);
     
    if(!empty($result["Field"]){
        //
        // Debug
        //
        echo '<b>Variables</b> :<br />';
        echo '<pre>';
        print_r($result["Field"]);
        echo '</pre>';
    }
    ?>
    mais il se passe rien.

  12. #12
    Membre Expert
    Avatar de Senji
    Inscrit en
    Juillet 2008
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 144
    Par défaut
    salut,

    je veux créer un formulaire en fonction des résultats obtenues mais ça na pas l'aire de marcher.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
     
      echo "<legend>Informations ".$_POST[E_Actif]."</legend>";
       $result=mysql_fetch_array($resQuery)
       foreach($result['Field'] as $key => $value){         
           echo "<label>".$key."<input type=\"text\" name=\"".$value."\" </label><br />";          
    	}
     
    ?>
    Merci de votre aide
    bye

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/03/2006, 14h15
  2. []récupérer les informations de idtag d'un mp3
    Par mierkool dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 08/01/2006, 11h36
  3. Récupérer les informations d'un autre site
    Par deelyth dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/01/2006, 09h44
  4. Réponses: 5
    Dernier message: 23/12/2005, 19h19
  5. [IdHTTP] Récupérer les informations provenant d'une serveur
    Par newbie57 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 24/11/2005, 12h33

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