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 :

[PHP-JS] Chargement de ma seconde liste déroulante


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 42
    Par défaut [PHP-JS] Chargement de ma seconde liste déroulante
    Bonjour à tous,

    Je veux réaliser le chargement de ma seconde liste déroulante via ma BDD après la selection d'un élément dans ma première elle-même chargée par la base de données. La première se charge bien mais j'arrive pas pour la deuxième. Je pense que c'est parce que la page ne se recharge pas. Pourriez-vous me dire ce qui cloche dans mon programme ?
    Je précise aussi que je n'ai aucun message d'erreur et que je debute en PHP alors merci d'avance pour votre coup de pouce.

    ...Benoit...

    Voici mon code :

    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
    56
    57
     
    <?php
    if (!isset($mainfile))
            {
            include("mainfile.php");
            }
     
    //Connexion à la base de données
    openbase();
     
    //Recherche des marques de tronconneuse 
    $req_marque = mysql_query ("SELECT marque_id, marque_text FROM marque WHERE outils_id=1 ORDER BY marque_text");
    ?>
     
    <form name="formulaire1" method="get" action="essai.php">
      <p><strong>Liste des marques </strong>
        <select name="marque" onchange="essai.btnsubmit.click();">
            <option selected value='0'>Toutes les marques</option>
            <?php
                //Chargement de la liste déroulante avec le resultat de la requête
                    while(list($marque_id, $marque_text) = mysql_fetch_row($req_marque))
                    {
                            if ($marque_id==$marque)
                                    {
                                    $sel = "selected";
                                    }
                            echo "<option $sel value=\"$marque_id\">$marque_text</option>\n";
                            $sel = "";
                    }
            ?>
        </select>
            <?php
            mysql_free_result($req_marque);
            $req_type = mysql_query ("SELECT type_id, marque_id, type_text FROM type WHERE marque_id ='$marque' ORDER BY type_text");
            ?>
      </p>
      <p><strong>Liste des mod&egrave;les de la marque selectionn&eacute;</strong> 
        <select name="type">
            <option selected value='0'>Tous les modeles </option>
            <?php
            while(list($type_id, $type_text) = mysql_fetch_row($req_type))
            {
                    if ($type_id==$type)
                            {
                            $sel = "selected ";
                            }
                    echo "<option $sel value=\"$type_id\">$type_text</option>\n";
                    $sel = "";
            }       
            ?>
        </select>
      </p>
        <p>
            <input name="btnsubmit" type="submit" id="btnsubmit" value="Envoyer"> 
            </p>
      <p>&nbsp;</p>
    </form>

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Salut,

    ça serait pas plutôt formulaire.btnsubmit.click() qu'il faudrait faire ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 42
    Par défaut
    Salut JWhite,

    Merci déjà beaucoup de répondre, c cool
    ok je viens de le faire c'est exact. Mais maintenant, la page a l'air de bien se recharger mais qd je sélectionne la marque, la page se charge puisque l'url change mais déjà il ne reste pas sur la marque sélectionnée et ma seconde liste ne se charge qd même pas. As-tu une idée ou qqun d'autre ?

  4. #4
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Oui, c'est parce que comme la page est rechargée il faut regarder les données saisies, en gros pour toi il faut que tu testes $_GET['marque'], si il existe alors tu mets l'item correspondant à SELECTED, sinon tu gères le SELECTED comme tu le fais pour l'instant.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 42
    Par défaut
    OK ça je comprends bien je ferais ça ensuite, c'est moins urgent mais pour ma seconde liste peux tu me dire pkoi elle ne se charge pas au rechargement de la page il faut aussi que j'utilise $_GET['marque'] ?
    Désolé mais je suis pas une bête en PHP, je m'y met seulement et j'y connais pas grand chose à la base.

  6. #6
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Citation Envoyé par benooiit
    OK ça je comprends bien je ferais ça ensuite, c'est moins urgent mais pour ma seconde liste peux tu me dire pkoi elle ne se charge pas au rechargement de la page il faut aussi que j'utilise $_GET['marque'] ?
    Désolé mais je suis pas une bête en PHP, je m'y met seulement et j'y connais pas grand chose à la base.
    Ok, j'avais pas encore regardé ta deuxième liste, donc oui c'est dans $_GET['marque'] que tu vas récupérer l'info, mais pourquoi dans ta requête tu as $marque et pas $_GET['marque'] ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 42
    Par défaut
    ben parce que j'y connais pas grand chose alors je fais beaucoup d'erreur et j'avance très lentement. Bon j'ai mis dans ma seconde requête $_GET['marque'] mais ça ne marche pas.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 42
    Par défaut
    J'ai même un message d'erreur maintenant :

    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Program Files\wamp\www\Essai de prog\essai.php on line 34

  9. #9
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Reposte la dernière version de ton code stp.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 42
    Par défaut
    Merci beaucoup pour le coup de main ca fait vraiment plaisir !

    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
    56
    57
    58
     
    <?php
    if (!isset($mainfile)) 
    	{
    	include("mainfile.php"); 
    	}
     
    //Connexion à la base de données
    openbase(); 
     
    //Recherche des marques de tronconneuse	
    $req_marque = mysql_query ("SELECT marque_id, marque_text FROM marque WHERE outils_id=1 ORDER BY marque_text");
    ?>
     
    <form name='formulaire' method='get' action='essai.php'>
      <p><strong>Liste des marques </strong>
        <select name='marque' onchange='formulaire.btnsubmit.click();'>
    	<option selected value='0'>Toutes les marques</option>
    <?php 
    	//Chargement de la liste déroulante avec le resultat de la requête
    	while(list($marque_id, $marque_text) = mysql_fetch_row($req_marque)) 
    	{
    		if ($marque_id==$marque) 
    			{ 
    			$sel = "selected"; 
    			}
    		echo "<option $sel value=\'$marque_id\'>$marque_text</option>\n";
    		$sel = ""; 
    	}
    ?>
    	</select>
    <?php 
    mysql_free_result($req_marque);
    //Recherche des types de tronconneuse associée à la marque sélectionnée	
    $req_type = mysql_query ("SELECT type_id, marque_id, type_text FROM type WHERE marque_id=$_GET['marque'] ORDER BY type_text");
    ?>
      </p>
      <p><strong>Liste des mod&egrave;les de la marque selectionn&eacute;</strong>  
        <select name='type'>
    	<option selected value='0'>Tous les modeles </option>
    <?php
    while(list($type_id, $type_text) = mysql_fetch_row($req_type)) 
    {
    	if ($type_id==$type) 
    		{
    		$sel = "selected ";
    		}
    	echo "<option $sel value=\'$type_id\'>$type_text</option>\n";
    	$sel = "";
    }	
    ?>
        </select> 
      </p>
      	<p>
    	<input name='btnsubmit' type='submit' id='btnsubmit' value='Envoyer'>  
    	</p>
      <p>&nbsp;</p>
    </form>

  11. #11
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Si ton champ id est bien un entier essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req_type = mysql_query ("SELECT type_id, marque_id, type_text FROM type WHERE marque_id=" . $_GET['marque'] . " ORDER BY type_text");
    Par contre au premier affichage de ta page $_GET['marque'] n'existe pas, il faut donc prévoir ce cas avec ce que tu veux charger par défaut.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 42
    Par défaut
    Non ça donne rien de plus.
    Et pour le prmier chargement de ma page, je ne veux aucune valeur par défaut.

  13. #13
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Pas testé...

    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
     
    <?php
    if (!isset($mainfile))
    {
       include("mainfile.php");
    }
     
    //Connexion à la base de données
    openbase();
     
    //Recherche des marques de tronconneuse 
    $req_marque = mysql_query ("SELECT marque_id, marque_text FROM marque WHERE outils_id=1 ORDER BY marque_text");
    ?>
     
    <form name="formulaire1" method="get" action="essai.php">
      <p><strong>Liste des marques </strong>
        <select name="marque" onchange="essai.btnsubmit.click();">
            <option selected value='0'>Toutes les marques</option>
            <?php
                //Chargement de la liste déroulante avec le resultat de la requête
                    while(list($marque_id, $marque_text) = mysql_fetch_row($req_marque))
                    {
                            if ((isset($_GET['marque'])) && ($marque_id==$_GET['marque']))
                                    $sel = "selected";
                            else
                                    $sel = "";
     
                            echo "<option " . $sel . " value=\"$marque_id\">$marque_text</option>\n";
                    }
            ?>
        </select>
            <?php
            mysql_free_result($req_marque);
            ?>
      </p>
      <p><strong>Liste des mod&egrave;les de la marque selectionn&eacute;</strong> 
        <select name="type">
            <option selected value='0'>Tous les modèles</option>
            <?php
             if(isset($_GET['marque'])
             {
                  $req_type = mysql_query ("SELECT type_id, marque_id, type_text FROM type WHERE marque_id =" . $_GET['marque'] . " ORDER BY type_text");
                  while(list($type_id, $type_text) = mysql_fetch_row($req_type))
                          echo "<option value=\"$type_id\">$type_text</option>\n";
             }
            ?>
        </select>
      </p>
        <p>
            <input name="btnsubmit" type="submit" id="btnsubmit" value="Envoyer"> 
            </p>
      <p>&nbsp;</p>
    </form>

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 42
    Par défaut
    J'ai l'erreur suivante avec ton prog :

    Parse error: parse error, unexpected '{' in C:\Program Files\wamp\www\gethrthr\uerivuaeiv.php on line 40

    Je ne sais pas d'où ce la vient ?

  15. #15
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Il manque une parenthèse fermante... mais bon quand même sur le coup avec un message d'erreur comme ça et le numéro de ligne qui va bien tu aurais quand même pu trouver

    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
     
    <?php
    if (!isset($mainfile))
    {
       include("mainfile.php");
    }
     
    //Connexion à la base de données
    openbase();
     
    //Recherche des marques de tronconneuse 
    $req_marque = mysql_query ("SELECT marque_id, marque_text FROM marque WHERE outils_id=1 ORDER BY marque_text");
    ?>
     
    <form name="formulaire1" method="get" action="essai.php">
      <p><strong>Liste des marques </strong>
        <select name="marque" onchange="essai.btnsubmit.click();">
            <option selected value='0'>Toutes les marques</option>
            <?php
                //Chargement de la liste déroulante avec le resultat de la requête
                    while(list($marque_id, $marque_text) = mysql_fetch_row($req_marque))
                    {
                            if ((isset($_GET['marque'])) && ($marque_id==$_GET['marque']))
                                    $sel = "selected";
                            else
                                    $sel = "";
     
                            echo "<option " . $sel . " value=\"$marque_id\">$marque_text</option>\n";
                    }
            ?>
        </select>
            <?php
            mysql_free_result($req_marque);
            ?>
      </p>
      <p><strong>Liste des mod&egrave;les de la marque selectionn&eacute;</strong> 
        <select name="type">
            <option selected value='0'>Tous les modèles</option>
            <?php
             if(isset($_GET['marque']))
             {
                  $req_type = mysql_query ("SELECT type_id, marque_id, type_text FROM type WHERE marque_id =" . $_GET['marque'] . " ORDER BY type_text");
                  while(list($type_id, $type_text) = mysql_fetch_row($req_type))
                          echo "<option value=\"$type_id\">$type_text</option>\n";
             }
            ?>
        </select>
      </p>
        <p>
            <input name="btnsubmit" type="submit" id="btnsubmit" value="Envoyer"> 
            </p>
      <p>&nbsp;</p>
    </form>

Discussions similaires

  1. [PHP-JS] Sélection de données dans liste déroulante
    Par guigui69 dans le forum Langage
    Réponses: 2
    Dernier message: 04/09/2007, 13h54
  2. Réponses: 5
    Dernier message: 12/06/2007, 10h21
  3. Réponses: 1
    Dernier message: 02/04/2007, 15h56
  4. [PHP-JS] Récupération valeur d'une liste déroulante
    Par vandeyy dans le forum Langage
    Réponses: 12
    Dernier message: 29/01/2007, 16h03
  5. [MySQL] PHP afficher a partir d'une liste déroulante
    Par marie4449 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/11/2006, 09h00

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