Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec liste déroulant et affichage dans text area

Sujet résolu
    14 janvier 2006 à 12:08:26

    J'ai une liste déroulante correspondant aux sous parties d'un site qui en fonction du choix affiche le champ correspondant de ma base de donnée dans un textarea.

    Voici mon code:
    <form method="get" action="admin.php">
           <select onchange="submit()" name="choix_souspartie">
              <option value="1">Choix 1</option>
              <option value="2">Choix 2</option>
              <option value="3">Choix 3</option>
              <option value="4">Choix 4</option>
          </select>
      </form>
    <form method="post" action="admin.php" name="texte">     
         <p>
    <textarea name="message" rows="15" cols="70"><?
                    mysql_connect("localhost", "root", "root");
                    mysql_select_db("base");
                    $reponse = mysql_query("SELECT * FROM `maj_message`");
                    $donnees = mysql_fetch_array($reponse);

                    if ($_GET['choix_souspartie']==1)
                    {
                    echo $donnees['partie1'];
                    }
                    if ($_GET['choix_souspartie']==2)
                    {
                    echo $donnees['partie2'];
                    }
                    mysql_close();         
    ?></textarea>
        <input type="submit" value="Modifier" />
         </p>
    </form>   


    Ainsi après le choix, la page est mis à jour et le texte correspondant à la sous partie s'affiche dans le textearea. Cependant lorsque je modifie le texte et que je clique sur modifier, le texte n'est pas enregistré. Je suppose que la variable que j'utilise la première fois, pour récupérer (avec le get) la valeur de la souspartie avec la liste déroulante n'existe plus après mis à jour de la page.
    Est-il possbile de conserver cette variable ?
    J'espère avoir été assez clair...
    Merci :)
    • Partager sur Facebook
    • Partager sur Twitter
      14 janvier 2006 à 18:44:57

      j'ai pas compris ce que tu voulait mais j'ai compris ce quil fallait qu'il se passe et je te conseil le javascript
      un petit
      <a href="javascript:AddText('ton texte');">ton truc</a>

      et le tour est joué
      • Partager sur Facebook
      • Partager sur Twitter
        14 janvier 2006 à 22:27:36

        Salut,

        Psycho34, pour ton truc, il faudrait peut être aussi lui donner la fonction AddText :p

        De plus, il désire visiblement le faire en php. Avec un formulaire, le travail se fait presque exclusivement par la méthode POST, c'est juste là où ça coince ;)

        Remplace get par post et cela devrait fonctionner.

        Ainsi :

        <form method="post" action="admin.php">
               <select onchange="submit()" name="choix_souspartie">
                  <option value="1">Choix 1</option>
                  <option value="2">Choix 2</option>
                  <option value="3">Choix 3</option>
                  <option value="4">Choix 4</option>
              </select>
          </form>
        <form method="post" action="admin.php" name="texte">     
             <p>
        <textarea name="message" rows="15" cols="70"><?
                        mysql_connect("localhost", "root", "root");
                        mysql_select_db("base");
                        $reponse = mysql_query("SELECT * FROM `maj_message`");
                        $donnees = mysql_fetch_array($reponse);

                        if(isset($_POST['choix_souspartie']))
                        {
           $choix_souspartie = htmlentities($_POST['choix_souspartie']);

                           echo $donnes['partie'.$choix_souspartie];
                        }
                        mysql_close();         
        ?></textarea>
            <input type="submit" value="Modifier" />
             </p>
        </form>   


        Toutefois, je trouve la méthode un peu barbare.. y'a moyen de faire mieux en utilisant la fonction de sélection de mysql directement dans la requête de recherche ;)

        ++
        • Partager sur Facebook
        • Partager sur Twitter
          15 janvier 2006 à 0:03:15

          En faite à mon avis je n'ai pas du être assez clair mais j'ai trouvé quand meme. Le but était de transmettre une seconde variable en plus du textarea.

          J'ai donc rajouté :
          <input type="hidden" name="souspart" value="<?echo $_GET['choix_souspartie']?>" />


          Ca marche parfaitement et ca correspondait à ce que je voulais.
          Merci pour votre aide :)
          • Partager sur Facebook
          • Partager sur Twitter

          Problème avec liste déroulant et affichage dans text area

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown