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 :

Formulaire alimenté par une base de données


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2007
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 203
    Points : 85
    Points
    85
    Par défaut Formulaire alimenté par une base de données
    Salut,

    J'ai une page devis_ajax.php et une page process_ajax.

    process_ajax permet de créer un formulaire à partir d'une base de données:

    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
      elseif($row["type"]=="choix")
     {
        echo'   <p ><label><b><u>'.$text_label.' :</u></b></label><br>';
                $i=strlen($contenu);
                $j=1;
                while($i>0)
     {
                $j=strcspn($contenu,'&');
                $h=strtok($contenu,'&&');
                $contenu=str_ireplace($h.'&&','',$contenu);
                $h=htmlentities($h,ENT_QUOTES);
     
     
     
        echo'<input type="checkbox" name="'.$contenu.'" value='.$h.'/>'.$h.'<br>';
        $i=$i-$j-2;
     
    }
    echo'</p>';
    pour un des types possible du formulaire.

    Le formulaire une fois crée s'affiche grâce à devis_ajax.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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <form method="post" action="traitement_devis.php">
    <fieldset style="width: 500px">
    <legend><b>DEVIS : REPONSE DANS LES 24 HEURES</b></legend>
    <label><b><u>Situation de votre entreprise</u></b></label>
    <select name='types_devis' id='types_devis' onchange='go()'>
    <option value='-1'>Aucun</option>
    <?
    mysql_connect("localhost","root","èç&-éà");
    mysql_select_db("base_test");
    $res = mysql_query("SELECT * FROM types_devis ORDER BY type_devis");
    while($row = mysql_fetch_assoc($res)){
    							echo "<option value='".$row["id_type_devis"]."'>".$row["type_devis"]."</option>";
    }
    ?>
    </select>
    <div id='devis' >
    </div>
     
    </fieldset>
     
     
    <input type="submit" value="Envoyer"  />
    <input type="reset" value="Recommencer" />
    		</form>
    PROBLEME:

    Je n'arrive pas à récupérer les variables de mon formulaire

    merci par avance
    claire

  2. #2
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Hello,

    $types_devis = $_POST['types_devis'];

    @+
    cadou
    LMN24 - Site d'actualité internationale multilingue
    http://www.lmn24.com

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2007
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 203
    Points : 85
    Points
    85
    Par défaut
    merci mais ce n'est pas la variable que je veux récupérer.

    Dans devis_ajax j'ai:
    Dans ce bloc, grâce à ajax, je récupère un formulaire généré par process_devis.php (cf une partie du code au dessus).

    ce formulaire est variable car alimenté par une base de donnée.

    Je ne sais pas comment récupérer les valeurs de mon formulaire car le name de chaque input est aussi variable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    echo'   <p ><label><b><u>'.$text_label.' :</u></b></label><br>';
                $i=strlen($contenu);
                $j=1;
                while($i>0)
     {
                $j=strcspn($contenu,'&');
                $h=strtok($contenu,'&&');
                $contenu=str_ireplace($h.'&&','',$contenu);
                $h=htmlentities($h,ENT_QUOTES);
     
     
     
        echo'<input type="checkbox" name="'.$contenu.'[]" value='.$h.'/>'.$h.'<br>';
        $i=$i-$j-2;
    Comme tu le vois, c'est situé dans une boucle.
    comment faire pour récupérer à chaque fois une variable avec un nom différent et voire si la personne a coché la case.

    J'espère que mon problème est plus clair.
    merci de m'aider
    claire

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2007
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 203
    Points : 85
    Points
    85
    Par défaut Re:
    Bon j'ai essayé un système de tableau mais pas trop au point:

    Dans mon traitement de mon formulaire POST:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $tableau=array_values($_POST);
    echo "pour i=0: ".$tableau[0]."<br>";
    echo "pour i=1: ".$tableau[1]."<br>";
    echo "pour i=2: ".$tableau[2]."<br>";
    echo "pour i=3: ".$tableau[3]."<br>";
    echo "pour i=4: ".$tableau[4]."<br>";
    echo "pour i=5: ".$tableau[5]."<br>";
    echo "pour i=6: ".$tableau[6]."<br>";
    echo "pour i=7: ".$tableau[7]."<br>";
    Je ferais une boucle plus tard...
    il s'affiche bien certaines de mes valeurs entrées dans mon formulaire.
    Mais je n'arrive pas à comprendre comment les valeurs sont rangées, pourquoi les valeurs n'apparaissent pas en entier et pourquoi certaines ont disparues?????

    merci
    claire

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je ne sais pas si ça va résoudre ton problème, mais pense à mettre des quotes autour de ta value dans ton input, ça te permettra d'éviter les problèmes du genre "on ne récupère que le premier mot d'une phrase avec des espaces"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      echo'<input type="checkbox" name="'.$contenu.'[]" value="'.$h.'"/>'.$h.'<br>';
    Pour voir le contenu de ta variable $_POST, tu as la fonction print_r qui t'affiche tout (un peu en vrac :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre>';
    print_r($_POST);
    echo '</pre>';
    Et en ce qui concerne ton problème précis, je dois avouer que je n'ai pas vraiment compris ce que tu essayais de faire
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre régulier
    Inscrit en
    Octobre 2007
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 203
    Points : 85
    Points
    85
    Par défaut
    Merci beaucoup pour ta réponse mais j'ai préféré refaire tout en simplifiant.
    Donc tout va bien (j'ai fait un formulaire simple (pas alimenté par une base))
    donc plus de soucis!!!

    a vouloir faire des trucs perfectionnés on s'y perd!!!

    merci encore et à plus!!!
    claire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD14] Combo alimenter par une base de donnée
    Par darkterreur dans le forum WinDev
    Réponses: 4
    Dernier message: 25/11/2009, 15h16
  2. [PDF] Remplir un formulaire PDF avec une base de données
    Par psgkiki dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 31/03/2009, 16h40
  3. Télé capture stockage + alimentation d'une base de données
    Par mat-tech dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 30/08/2008, 14h52
  4. [AJAX] lier deux listes déroulantes alimenté par une base de données (Mysql)
    Par arnaudperfect dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/04/2007, 01h06
  5. Réponses: 1
    Dernier message: 20/03/2007, 09h24

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