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 de donnée formulaire


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 17
    Points : 7
    Points
    7
    Par défaut récup de donnée formulaire
    Bonjour, j'ai une table playlist ainsi qu'une table champ :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    playlist
    idplaylist 	int(11) 		
    titre 	varchar(300) 	
    nbchamp 	int(2)
     
    champ
    idchamp 	int(11) 		
    nomchamp 	varchar(300) 
    idplaylist 	int(11)
    Une playlist est composée de plusieurs champs. Je voudrais alimenté ma table champ par un formulaire.
    J'ai donc créé un formulaire qui dans un premier temps me demande de choisir à quel playliste je veux ajouter des champs. Ensuite j'arrive sur un deuxième formulaire où il m'affiche le nombre de champs (input) correspondant à la playlist. Il me suffit de le remplir, mais je bloque sur la récupération des champs. J'ai fais une boucle, mais il manque le nombre de champ de la playlist sélectionnée précédemment. Je sais pas comment je peux le récupérer. Peut être que ma méthode n'est pas la meilleur, ça fait plusieurs semaines que je suis sur ce formulaire, j'aimerais bien un peu d'aide svp..

    Fichier1
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
        if(!isset($_POST['btValider']))
        { 
        echo'
        <form onsubmit="return verif()"action="index.php?page=fichier.php" method="post"  enctype="multipart/form-data">
     
        <p>
        <label for="playlist">Playlist :</label>    
        <SELECT name="playlist">';
        $playlistsoiree=new playlistsoiree($db);
        $liste=$playlistsoiree->selectAll();
        foreach ($liste as $unplaylistsoiree)
        {
        echo '<option value='.$unplaylistsoiree['idplaylist'].'>'.$unplaylistsoiree['titre'].'</option>';
        }
        echo'</select> </p>
     
        <input type="submit" id="btValider" name="btValider" />
        <input type="reset" value="Réinitialiser" /> <br />
        </form>';
     
        }
        else
            { 
             // récup de l'id 
            $idplaylistsoiree=$_POST['playlist'];
            echo $idplaylistsoiree;
     
            // recup du nombre de champs
            $playlistsoiree = new playlistsoiree($db);
            $nbchamp=$playlistsoiree->selectOne($idplaylistsoiree);
            echo $nbchamp['nbchamp'];
     
             if(!isset($_POST['btValider2']))
            { 
            echo'<form onsubmit="return verif()"action="index.php?page=fichier2.php" method="post"  enctype="multipart/form-data">';
     
            for ($i=1; $i<=$nbchamp['nbchamp']; $i++)
                      {
                      echo' <p><label for="champ">Champ '.$i.' :</label>
                      <input type ="text" id="champ'.$i.'" name="champ'.$i.'" />
                      </p>  ';
                        }
     
     
            echo' <input type="submit" id="btValider2" name="btValider2" />
        <input type="reset" value="Réinitialiser" /> <br />
        </form>'; 
     
     
        } 
     
     
        }
    Fichier 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    //manque nombre de champ, avec une valeur en dure ça marche..
    for ($i=1; $i<=2; $i++){
    				$champ=$_POST['champ'.$i.''];
     
    				echo 'Valeur du champ '.$i.': '.$champ.'<br />';
    		}

  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
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Utilise un name de type tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type ="text" id="champ'.$i.'" name="champ[]" />
    que tu récupères un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach($_POST["champ"] as $index=>$value){
    echo $index." : ".$value."<br/>";
    }
    echo count($_POST["champ"]); // le nombres de champs
    A+.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 17
    Points : 7
    Points
    7
    Par défaut
    oki merci ça marche, mais la première valeur du tableau vaut zéro. Est ce qu'il a un moyen de le faire commencé à partir du chiffre 1 ?

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Tous les tableaux générés automatiquement commencent par l'index 0.
    Mais en quoi cela te pose problème ?

  5. #5
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Citation Envoyé par spyke62 Voir le message
    mais la première valeur du tableau vaut zéro.
    +1 ABCIWEB
    Ne confond pas index et valeur.

Discussions similaires

  1. Aide formulaire : choix avec apparition textaera + récup des données
    Par kikill dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/07/2009, 17h02
  2. Réponses: 2
    Dernier message: 04/01/2006, 22h33
  3. Comment faire pour récup une donnée d'une liste déroulante
    Par magic8392 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 03/03/2005, 16h00
  4. Récup des données d'un select (cf exemple dans la faq)
    Par j0k3r_n0ir dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/02/2005, 19h36
  5. Liaison de données - formulaires
    Par Bikey dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 21/10/2004, 16h05

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