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 :

Créer un formulaire à partir d'une valeur sélectionnée dans une liste


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut Créer un formulaire à partir d'une valeur sélectionnée dans une liste
    bonjour tous le monde mon pro est:
    aprés avoir remplis mon liste a partir d'une bdd je veus que lorsque j'ai sélctionner un element dans ma liste s'ecrit un formulaire content tous les infos conserne l'element selctionner
    et merci d'avance pour vous reponses

  2. #2
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    BOnjour ! Je suis pas sur d'avoir compris aussi je te propose ceci:

    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="">
    <!-- La on ton formulaire où il y a ta liste nommé listeInfo -->
    <input type="submit" name="btOk" value="Selectionner!"/>
    </form>
    <?php
    if (isset($_POST['btOk'])){
     
        //tu fais le test a savoir si il y a un élément de sélectionné dans la liste...
        $valeur=$_POST['listeInfo'];
        $req=mysql_query("SELECT Champ1, Champ2 FROM Matable WHERE Champ1='".$valeur."'",$cnx);
        echo '<form method="POST" action="">';
        $i=1;
        while($JeuEnr=mysql_fetch_assoc($req)){
               echo '<input type="text" name="Champ1'.$i.'" value="'.$JeuEnr['Champ1'].'"/>';
               echo '<input type="text" name="Champ2'.$i.'" value="'.$JeuEnr['Champ2'].'"/>';
               $i++;
         }
         echo '<input type="submit" name="BtModifier" />';
         echo '</form>';
     
    }
     
     
    ?>
    C'est ce genre de chose que tu souhaite faire? A savoir afficher les valeur dans des input dans le but de les modifier?

  3. #3
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut
    merci d'avoir repondre mr obito c vraiment ca
    mais pour moi je préfere qu'on liée a la liste une fonction a l'evenement mais je ne sais pas comment faire puisque je n'est pas un niveau au javascripts mais je pense que sa sera mieux pour l'utilisateur
    et merci en core une fois pour votre reponse

  4. #4
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Ben la en fait il faut faire appel à l'ajax

    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
    54
    55
    //instantiation l'objet XMLHttpRequest sous firfox et IE
    function ajax(){
     
    	if(window.XMLHttpRequest) // Firefox et autres
    	xhr_object = new XMLHttpRequest();
     
    	else if(window.ActiveXObject){ // Internet Explorer
    		try {
    			xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
     
    		} catch (e) {
    			try {
    				xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
     
    			} catch (e1) {
    				xhr_object = null;
    			}
    		}
    	}
    	else { // XMLHttpRequest non supporté par le navigateur
    		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    		return ;
    	}
    	return xhr_object;
    }
     
    function CreerForm(element)
         {
     
         if(element != '')
         {
     
                   file('Script.php?element='+escape(element));
         }
    	 else{
    		return false;
    	       }
    }
     
    function file(fichier)
         {
         if(window.XMLHttpRequest) // FIREFOX
             { xhr_object = new XMLHttpRequest();}
         else if(window.ActiveXObject) // IE
              { xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); }
         else
              { return(false); }
         xhr_object.open("GET", fichier, false);
         xhr_object.send(null);
         if(xhr_object.readyState == 4) { 
    		//placera le form généré dans la div voulu
    document.getElementById(madiv).innerHTML=xhr_object.responseText;; }
         else 
    		{ return(false); }
         }
    Voila ce qu'il y aura dans ton Script.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
    <?php
    if (isset($_GET['element'])){
     
     
        $valeur=$_GET['element'];
        $req=mysql_query("SELECT Champ1, Champ2 FROM Matable WHERE Champ1='".$valeur."'",$cnx);
        $txt='<form method="POST" action="">';
        $i=1;
        while($JeuEnr=mysql_fetch_assoc($req)){
               $txt.='<p><input type="text" name="Champ1'.$i.'" value="'.$JeuEnr['Champ1'].'"/></p>';
               $txt.= '<p><input type="text" name="Champ2'.$i.'" value="'.$JeuEnr['Champ2'].'"/></p>';
               $i++;
         }
         $txt.= '<input type="submit" name="BtModifier" />';
         $txt.= '</form>';
     
         echo $txt;
    }
     
     
    ?>
    EDIT : Oublie pas de créer une DIV spécifique à ton formulaire généré

  5. #5
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut
    un grandchapeau pour toi obito et tous les mombre de ce forum
    tous d'adord comment faire ce div en plus j'essai ton code et j'ai met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <select name="hotel_chambre" style="border:thin" onchange=ajax()>
    en plus
    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
    <?php
    echo"<div id=classe1>";
    if (isset($_GET['element'])){
     
     
        $valeur=$_GET['element'];
        $req=mysql_query("SELECT * FROM hotels WHERE nom_hotel='".$valeur."'",$connexion);
        $txt='<form method="POST" action="">';
        $i=1;
        while($JeuEnr=mysql_fetch_assoc($req)){
               $txt.='<p><input type="text" name="Champ1'.$i.'" value="'.$JeuEnr['categorie_hotel'].'"/></p>';
               $txt.= '<p><input type="text" name="Champ2'.$i.'" value="'.$JeuEnr['ville_hotel'].'"/></p>';
               $i++;
         }
         $txt.= '<input type="submit" name="BtModifier" />';
         $txt.= '</form>';
     
         echo $txt;
    }
     echo"</div>";
     
    ?>
    mais ca ne marche pas
    et encore une fois merci pour vous reponse

  6. #6
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <select name="hotel_chambre" style="border:thin" onchange="CreerForm(this.SelectedItem);"
    >
    Donc déjà mauvais appel de fonction

    Sinon pour la div ca donnerait dans ta page ou il y a ta liste par exemple après cette liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id"Formulaire"></div>
    Donc ici:

    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
    <?php
    echo"<div id=classe1>";
    if (isset($_GET['element'])){
     
     
        $valeur=$_GET['element'];
        $req=mysql_query("SELECT * FROM hotels WHERE nom_hotel='".$valeur."'",$connexion);
        $txt='<form method="POST" action="">';
        $i=1;
        while($JeuEnr=mysql_fetch_assoc($req)){
               $txt.='<p><input type="text" name="Champ1'.$i.'" value="'.$JeuEnr['categorie_hotel'].'"/></p>';
               $txt.= '<p><input type="text" name="Champ2'.$i.'" value="'.$JeuEnr['ville_hotel'].'"/></p>';
               $i++;
         }
         $txt.= '<input type="submit" name="BtModifier" />';
         $txt.= '</form>';
     
         echo $txt;
    }
     echo"</div>";
     
    ?>
    il ne faut aucun echo "div", fait moi confiance il ne faut qu'un seul echo et c'est echo $txt, la DIV faut la placer sur la page où il y a ta liste

  7. #7
    Membre émérite Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Par défaut
    Citation Envoyé par obito Voir le message
    Ben la en fait il faut faire appel à l'ajax

    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
    54
    55
    //instantiation l'objet XMLHttpRequest sous firfox et IE
    function ajax(){
     
    	if(window.XMLHttpRequest) // Firefox et autres
    	xhr_object = new XMLHttpRequest();
     
    	else if(window.ActiveXObject){ // Internet Explorer
    		try {
    			xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
     
    		} catch (e) {
    			try {
    				xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
     
    			} catch (e1) {
    				xhr_object = null;
    			}
    		}
    	}
    	else { // XMLHttpRequest non supporté par le navigateur
    		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    		return ;
    	}
    	return xhr_object;
    }
     
    function CreerForm(element)
         {
     
         if(element != '')
         {
     
                   file('Script.php?element='+escape(element));
         }
    	 else{
    		return false;
    	       }
    }
     
    function file(fichier)
         {
         if(window.XMLHttpRequest) // FIREFOX
             { xhr_object = new XMLHttpRequest();}
         else if(window.ActiveXObject) // IE
              { xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); }
         else
              { return(false); }
         xhr_object.open("GET", fichier, false);
         xhr_object.send(null);
         if(xhr_object.readyState == 4) { 
    		//placera le form généré dans la div voulu
    document.getElementById(madiv).innerHTML=xhr_object.responseText;; }
         else 
    		{ return(false); }
         }
    Voila ce qu'il y aura dans ton Script.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
    <?php
    if (isset($_GET['element'])){
     
     
        $valeur=$_GET['element'];
        $req=mysql_query("SELECT Champ1, Champ2 FROM Matable WHERE Champ1='".$valeur."'",$cnx);
        $txt='<form method="POST" action="">';
        $i=1;
        while($JeuEnr=mysql_fetch_assoc($req)){
               $txt.='<p><input type="text" name="Champ1'.$i.'" value="'.$JeuEnr['Champ1'].'"/></p>';
               $txt.= '<p><input type="text" name="Champ2'.$i.'" value="'.$JeuEnr['Champ2'].'"/></p>';
               $i++;
         }
         $txt.= '<input type="submit" name="BtModifier" />';
         $txt.= '</form>';
     
         echo $txt;
    }
     
     
    ?>
    EDIT : Oublie pas de créer une DIV spécifique à ton formulaire généré
    Voila, tout est écrit ici de toute façon

  8. #8
    Membre éclairé Avatar de agnaou
    Inscrit en
    Février 2009
    Messages
    289
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2009
    Messages : 289
    Par défaut
    bonjour mr obito
    de toute fasons c exactement ce que je fait mais malheureusement ca ne marche pas moi ce que je veux dire c est ce que dans le parametre de la fonction file en met directment script.php
    et merci d'avance

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/04/2011, 09h06
  2. Réponses: 11
    Dernier message: 29/11/2010, 17h44
  3. [XL-2007] Affichage d'une valeur sélectionnée dans une Listbox
    Par jmh51 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/07/2010, 09h15
  4. Réponses: 10
    Dernier message: 15/07/2008, 17h23
  5. Réponses: 1
    Dernier message: 11/06/2008, 14h33

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