Une variable pour plusieur données

Résolu
dourlens59 Messages postés 72 Statut Membre -  
jeremy.s Messages postés 1248 Statut Membre -
Bonjour,
J'ai un formulaire ou j'ai plusieurs champs "paragraphe" a remplir. A chaque fois les données que j'inscrit vont dans la variable "$paragraphe", ce que je voudrais c'est arriver à m'y retrouver dans ces données, via un tableau ou autre, et par la suite l'insérer dans un paragraphe
Cdt,

9 réponses

  1. Alain_42 Messages postés 5413 Statut Membre 904
     
    oui ou en metant en plus le même index dans le name=xxxxx[numParagraphe] de liste et textarea

    c'est plus facile ensuite d'assurer la correspondance entre le type et le contenu texarea
    <?php
    if(isset($_POST['Nouv_Para']))//Si on appuie sur le bouton Nouv_para
    {
    $nbParagraphe = $_POST['nb_para'] +1;
    $numParagraphe=1;
    for($i = 1; $i <= $nbParagraphe ; $i++)
    { 
    	echo '<br><label class="margeG" for="para"> Type Paragraphe : </label>
    	<select name="liste_type1['.$numParagraphe.']">
    	<option value="texte"> Texte </option>
    	<option value="lien"> Lien </option>
    	<option value="image"> Image </option>
    	<option value="media"> Média </option>
    	</select><br/>
    	<br/>
    	<label class="margeG"> Paragraphe '.$numParagraphe.' : </label>
    	<textarea name="paragraphe['.$numParagraphe.']" rows="8" cols="45" >'.$paragraphe.'</textarea>'.'<br>';
    
    $numParagraphe++;
    }
    echo '<input type="hidden" name="nb_para" value="'.$nbParagraphe.'">';
    }
    else
    {
    echo '<input type="hidden" name="nb_para" value="">';
    }
    
    //et pour récupérer:
    
    for($i=1;$i<=sizeof($_POST['liste_type1']);$i++){
    
    	echo 'Paragraphe n°'.$i.'<br />';
    	echo 'Type: '.$_POST['liste_type1'][$i].'<br />';
    	echo nl2br($_POST['paragraphe'][$i];
    }
    ?>
    2
  2. jeremy.s Messages postés 1248 Statut Membre 79
     
    Salut !

    Il faut également que tu récupère ton sélect comme tes textarea :
    <select name="liste_type[]">

    En post, tu vas alors recevoir deux tableaux : Celui de tes sélect et celui de tes textarea.
    Donc par exemple, $_POST['liste_type'][1] correspond au select du paragraphe $_POST['paragraphe'][1]

    Pour récuper toutes tes valeurs (select et paragraphe), un tu suffis d'une boucle avec un i qui s'incrémente et dans chaque tour de boucle tu ira cherché $_POST['liste_type'][$i] et $_POST['paragraphe'][$i]

    1
  3. SkollLegions Messages postés 53 Date d'inscription   Statut Membre Dernière intervention   6
     
    J'ai pas tout compris...

    En gros tu as un formulaire avec plusieurs champs et tu arrives pas à récupérer chaque champ dans une variable différente, c'est ça ?
    0
  4. dourlens59 Messages postés 72 Statut Membre
     
    Merci de ta réponse
    En faite j'ai un formulaire, où à chaque fois je rajoute autant de paragraphe que je veux, et à chaque fois les données de N paragraphe se trouverons dans la variables $paragraphes.

    <?php
    if(isset($_POST['Nouv_Para']))//Si on appuie sur le bouton Nouv_para
    {
    $nbParagraphe = $_POST['nb_para'] +1;
    for($i = 1; $i <= $nbParagraphe ; $i++)
    { $numParagraphe++;
    echo '<br><label class="margeG" for="para"> Type Paragraphe : </label>
    <select name="liste_type1">
    <option value="texte"> Texte </option>
    <option value="lien"> Lien </option>
    <option value="image"> Image </option>
    <option value="media"> Média </option>
    </select><br/>
    <br/>
    <label class="margeG"> Paragraphe '.$numParagraphe.' : </label>
    <textarea name="paragraphe[]" rows="8" cols="45" >'.$paragraphe.'</textarea>'.'<br>';
    }
    echo '<input type="hidden" name="nb_para" value="'.$nbParagraphe.'">';
    }
    else
    {
    echo '<input type="hidden" name="nb_para" value="">';
    }
    ?>

    Ce que je voudrais c'est pouvoir traiter chaque données de chaque paragraphe.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dourlens59 Messages postés 72 Statut Membre
     
    Un grand merci Alan ! Tu m'as bien aider
    Mais c'est que je voudrais c'est pouvoir récupérer le contenu de chaque paragraphe afin de pouvoir les intégrer dans ma base de données dans mon champs 'contenu' , dans ma base là, on voit "array" dans le contenu quand j'essaye de les intégrer.
    Cdt,
    0
  7. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
     
    Tu obtiens un tableau avec chacun de tes paragraphes, à toi de les traiter après, le plus simple c'est de faire une boucle sur ton tableau.
    0
  8. dourlens59 Messages postés 72 Statut Membre
     
    C'est pas vraiment ce que je voulais faire,
    Voici mon code :

    Haut de page :

    if(isset($_POST['valider']) OR isset($_POST['Nouv_Para']))
    { //On récupère les données rentrer dans les champs

    $nbParagraphe=$_POST['nb_para'];
    $contenuParagraphe1=$_POST['contenuParagraphe1']

    }

    Plus bas :

    for($numParagraphe = 1; $i <= $nbParagraphe ; $numParagraphe++)
    {
    echo
    '<label class="margeG"> Paragraphe '.$numParagraphe.' : </label>
    <textarea name="contenuParagraphe'.$numParagraphe.'" rows="8" cols="45" > '.$contenuParagraphe1.' </textarea>'.'<br>';

    $numParagraphe++;
    }
    echo '<input type="hidden" name="nb_para" value="'.$nbParagraphe.'">';
    }
    else
    {
    echo '<input type="hidden" name="nb_para" value="">';
    }
    Ce que je voudrais c'est que dans mon textarea, ma boucle créer une variables qui se concatène avec le num du paragraphe.
    Que ma boucle créer des variables avec le contenu : $contenuParagraphe2,$contenuParagraphe3, etc .. autant de fois que j'aurais créer de paragraphe.
    Cdt
    0
  9. Alain_42 Messages postés 5413 Statut Membre 904
     
    ma boucle créer une variables qui se concatène avec le num du paragraphe
    c'est tout à fait possible, mais pourquoi n'utilises tu pas la solution proposée par jeremy.s ou moi-même avec les array en en mettant comme name = xxxx[] ce qui est beaucoup plus simple.

    fais au moins l'essai
    0
  10. jeremy.s Messages postés 1248 Statut Membre 79
     
    D'autant plus que c'est plus propre et très correct de faire ca, donc même avis qu'Alain !
    0