select apparait après selection d'un autre select

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : select apparait après selection d'un autre select

Re: select apparait après selection d'un autre select

par fabb63 » 03 févr. 2013, 23:01

Salut,
A ce qu'il me semble, tu fais une confusion entre PHP qui est interprété coté serveur et Javascript qui est interprété coté client.
Lorsque tu écrit : onclick='....' tu fais normalement appel à une fonction javascript alors que toi c'est une fonction php qui est donc interprétée côté serveur mais que le client ne connait donc pas.

Ce qu'il faut faire c'est donc soit :
- passer par de l'ajax
- valider le formulaire pour repasser par le serveur puis ajouter un nouveau select après validation

;)

select apparait après selection d'un autre select

par 20100Leo » 03 févr. 2013, 21:41

Bonjour à tous,

Je voudrais faire apparaitre un select après sélection dans un autre select qui effectue une requête SQL. Ces deux select font partie d'un formulaire. Le programme fonctionne pour tous les champs du formulaire sauf les select : le 2ème n'apparait pas. Je coince là dessus depuis un bout de temps mais je ne trouve pas. Pouvez vous m'aider ??
<?php

include('bdd.php'); //connexion à la base de données

// On sélectionne L'Id et le nom des catégories mères de la table categoriearticle
$requete1 = '   SELECT idCategorieArticle,nomCategorieArticle
                FROM categoriearticle 
                WHERE idCategorieParent=-1 
                ORDER BY nomCategorieArticle ASC';

$resultat1=mysql_query($requete1) or die('erreur de requete 1');    
echo '<form action="" method="GET" onchange="submit()";>';
    echo '<td>';
        echo '<select name="categorie" onChange="afficheSelect();">';
            echo '<option selected="selected" >Catégorie</option>';
            // On affiche les catégories
            while($tableauCategorie=mysql_fetch_assoc($resultat1))
            {
                echo '<option value="'.$tableauCategorie['idCategorieArticle'].'">'.$tableauCategorie['nomCategorieArticle'].'</option>';
            }
        echo '</select>';
    echo '</td>';
    
    
function afficheSelect()
{
    echo '<td>';
        if(isset($_GET['categorie']))
        {
            // On sélectionne les sous-catégories ayant un Id catégorie parent = Id catégorie mère
            $requete2 = '   SELECT nomCategorieArticle 
                            FROM categoriearticle 
                            WHERE idCategorieParent='.$_GET['categorie'].'
                            ORDER BY nomCategorieArticle ASC';
            $resultat2=mysql_query($requete2) or die('erreur de requete 2');
            // On affiche les sous catégories
            echo '<select name="sousCategorie">';
            echo '<option selected="selected">Sous-categorie</option>';
            while($tableauCategorie=mysql_fetch_assoc($resultat2))
            {
                echo '<option value="'.$tableauCategorie['nomCategorieArticle'].'">'.$tableauCategorie['nomCategorieArticle'].'</option>\n';
            } 
           echo '</select>';
        }
    echo '</td>';
}
echo '</form>';

mysql_close();//Ferme la connexion

?>