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

PHP & Base de données Discussion :

Listes dynamiques liées. [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut Listes dynamiques liées.
    Bonjour à tous ,

    Je sais qu'après lecture de mon titre vous vous dites, un n-ième problème de liste liées alors qu'il y a des tutoriels etc.. Je suis d'accord avec vous, car en effet je me suis appuyé sur les tutoriels pour avancer comme j'ai pu. Cependant je rencontre un problème, je vous explique.


    J'ai donc réalisé 2 listes déroulantes liées, la 2ème propose des choix spécifiques à l'élément que l'on a sélectionné dans la 1ère liste.

    Cela fonctionne bien, je me suis inspiré ce qu'il y avait sur internet, que j'ai réadapté à mes besoins, voici le 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
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chg_localisation">
    	<select name="localisation" id="localisation" onchange="document.forms['chg_localisation'].submit();">
    		<option>- - - Choisissez une localisation - - -</option>
    		<?php
    			$sql1 = "select loc_tr_id, loc_libelle from localisation";
    			$rech_localisation = mysql_query($sql1);
    			if($rech_localisation != false){
    				while($data = mysql_fetch_assoc($rech_localisation)){  ?>
    					<option value="<?php echo $data['loc_tr_id']; ?>"
    					<?php if(isset($_SESSION['localisation']) 
    							AND $_SESSION['localisation'] == $data['loc_tr_id'])
    							echo 'selected="selected"'; ?>>
    							<?php echo $data['loc_libelle']; ?>
    					</option>
    				<?php
    				}
    			}
    			mysql_free_result($rech_localisation);
    			?>
    	</select>
    </form>	
     
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chg_sous_reseau">
    	<select name="MASK" id="MASK" onchange="document.forms['chg_sous_reseau'].submit();">
    		<option>- - - Choisissez un sous-reseau - - -</option>
    		<?php
    		    if(isset($_SESSION['localisation'])){
    				$sql2 = "SELECT DISTINCT sousreseau.sr_vl_id, sousreseau.sr_libelle, sousreseau.sr_ad_basse, localisation.loc_tr_id ".
            " FROM sousreseau, localisation ".
            " WHERE sousreseau.sr_loc = ". $_SESSION['localisation'] ."
    						";
    				$rech_sous_reseau = mysql_query($sql2);
    				if($rech_sous_reseau != false){
    					while($data = mysql_fetch_assoc($rech_sous_reseau)){  ?>
    						<option value="<?php echo $data['sr_vl_id']; ?>"
    						<?php if(isset($_SESSION['localisation']) 
    								AND $_SESSION['MASK'] == $data['sr_vl_id'])
    								echo 'selected="selected"'; ?>>
    								<?php echo $data['sr_libelle']; echo $data['sr_ad_basse'];  ?>
    						</option>
    					<?php
    					}
    				}
    				mysql_free_result($rech_sous_reseau);
    			}
    			?>
    	</select>
    </form>

    J'ai un autre code qui permet d'afficher des élements selon le choix que l'on a fait dans une liste d'adresse IP. Je vous mets que le code qui permets de sélectionner les élements. Le choix est renvoyer vers une page EDITER.php qui s'occupe que de l'affichage des élements.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    		<select name="MASK" id="MASK">		
    			<?PHP
    			echo '<option value="1">Selectionner un sous-reseau</option>';
    			/*initialisation sql*/
    			$sql='select sr_id,sr_libelle,sr_ad_basse,sr_aff from SOUSRESEAU ORDER BY sr_aff ASC';
    			$req=  mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    			while($data = mysql_fetch_array($req)){
    			echo '<option value="'.$data["sr_id"].'">'.$data["sr_libelle"].' '.$data["sr_ad_basse"].'</option>'; }
     
    			?>
     
    		</select>
    Le problème, c'est que je ne parviens à "allier" ces deux codes, en effet, j'aimerai pouvoir avec 2 listes liées, dont la première permettra "de faire le tri" en choisissant une localisation, et la seconde de proposer les éléments correspondants. Ce qui va nous permettre d'afficher les éléments du choix de la 2ème liste déroulante.



    En gros, les deux codes marche bien séparement, mais lors de mes innombrables tentatives de les mettres en commun, rien ne marche. J'ai cherché du coté du fait que dans le code EDITER.php, on récupère la variable de choix sous la forme $_GET['MASK'], tandis que dans les deux codes, c'est du type POST. J'ai essayé de manipuler, re-transformer etc.. sans succès.



    Merci d'avoir lu, et de votre aide, par avance !

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chg_localisation">
    <select name="localisation" id="localisation" onchange="document.forms['chg_localisation'].submit();">
    Ta balise form n'a pas d'attribut name.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chg_localisation">
    	<select name="localisation" id="localisation" onchange="this.form.submit();">
    Tu testes si le premier est sélectionné et tu ajoutes sa valeur dans le clause where de la requête.

    Sinon, si tu ne veux pas que la page se recharge, utilise AJAX.

    A+.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut
    Merci de ta réponse !

    En fait, le fait que tu soulignes l'absence de l'attribut 'name' m'a permis d'arriver sur un autre soucis, il fallait tout simplement rajouter action="EDITER.php" à la fin de la balise form, et changer le method="post" en method="get".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>" name="form_edit" method="get" id="chg_sous_reseau" action="EDITER.php">
    Il ne se passait rien du fait qu'il ne faisait aucun appel !


    Merci encore

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut
    Bonjour,


    Je me suis un peu trop précipité en mettant cette discussion en résolue, en effet, je rencontre un petit soucis.

    Cela marche mais pas du premier coup, je m'explique. Lorsque j'arrive sur ma page la première fois, ça ne fonctionne pas, bien que j'ai fait mes choix, il ne veut rien afficher. De plus, il m'affiche le choix de la 2ème liste déroulante une "milliseconde" et réaffiche à la place " Choisissez un sous-reseau ".

    Ca marche que lorsque que j'ai utilisé une première fois la fonction "Recherche" de ma page qui permet de taper un mot, et de rechercher dans la base les élements contenant ce mot. Cette fonction "Recherche" se situe sur la même page que les listes déroulantes, juste en dessous.

    Pour résumé:

    Première fois sur la page : Rien
    Première fois sur la page, avec avant une utilisation de la fonction "Recherche", ça fonctionne.

    J'ai comme l'impression que la fonction "Recherche" met en place quelque chose.


    Merci à tous !

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    J'ai comme l'impression que la fonction "Recherche" met en place quelque chose.
    Oui, elle initilise des valeurs dans la session de ton application (voir $_SESSION), la session reste active tant que le navigateur n'est pas fermé (sauf si détruite par l'application).

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Re,

    Les 2 select sont aussi dans 2 différents form. Pourquoi ne pas utiliser AJAX?

    A+.

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut
    Bonjour,

    Merci de ta réponse, cependant je ne vois où est faite l'initialisation ?


    La fonction qui permet de rechercher :

    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
    	<div>
    		<form action='EDITER.php' method="GET" id="perma">
    			<!-- <input type="hidden" name="perma" id="perma" value="EDITER"/>
    			Recherche sur toute la base : <input type="text" name="mot" id="mot"> -->
     
    			<h2>Recherche sur toute la base :</h2><input type="text" name="mot" id="mot" onkeyup="lookup(this.value);" onblur="fill();" ></h2>
    				<div class="suggestionsBox" id="suggestions" style="display: none;">
    				<div class="suggestionList" id="autoSuggestionsList">
    					&nbsp;
    				</div>
    <br />
    <br />
     
     
    		<!-- <br />
    		<br />  -->
    			<!--<input type="submit" value="Rechercher"> -->
    			<!--<br /> Un champs de recherche vide affiche toute la base !-->
    		</form>
    	</div>
    Il s'agit d'une recherche dynamique qui affine la recherche selon les caractères tappés au clavier, et affiche une liste d'éléments en conséquence. J'ai utilisé le javascript.

    Encore merci de m'avoir éclairer!

  8. #8
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Re,

    C'est quoi le rapport de ce form avec les 2 dans les post précédents?
    <form action='EDITER.php' method="GET" id="perma">
    <!-- <input type="hidden" name="perma" id="perma" value="EDITER"/>
    Attention, un id doit être unique dans un document.

    A+.

  9. #9
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <div>
    		<form action='EDITER.php' method="GET" id="rech2">
     
    			<h2>Recherche sur toute la base MAPI avec recherche dynamique (Un champs de recherche vide affiche toute la base !) :</h2><input type="text" name="mot" id="mot" onkeyup="lookup(this.value);" onblur="fill();" ></h2>
    				<div class="suggestionsBox" id="suggestions" style="display: none;">
    				<div class="suggestionList" id="autoSuggestionsList">
    					&nbsp;
    				</div>
    <br />
    <br />
     
     
    		</form>
    	</div>

    Désolé je n'avais pas retirer les commentaires. Les form des 2 précédents post sont pour les 2 liste déroulantes, et celle-ci est pour la fonction "Recherche".

    Ca se présente comme cela :

    Sous-réseau à afficher :

    [---Choisissez une localisation---] --> 1ère liste déroulante
    [---Choisissez un sous-réseau---] --> 2ème liste déroulante


    Recherche dynamique :

    [*Le mot à tapper ici*] --> La recherche s'affine en fonction de ce qu'on tappe dans la champ texte, avec un affichage des éléments sous forme d'une liste, au fur et à mesure à l'aide du Javascript.


    Merci de ta réponse,

  10. #10
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Comme ton code a du évoluer, je peux pas trop voir ton problème ...

    pour la recherche, il y a juste un retour d'un $_GET['mot']

  11. #11
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut
    Bonjour,


    Non, ça n'a pas trop évolué malheureusement. Le soucis principale c'est que je ne comprends pas pourquoi le choix de la 2ème liste affiche les élements correspondants, qu'après avoir faire une recherche, en tapant un mot dans la fonction "Recherche".

    J'ai bien compris que ce que tu m'as dit au début concernant $_SESSION, mais je ne vois pas ou est faite l'initialisation de cette variable, puisque le code de la fonction " Recherche " est juste 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
    	<form action='EDITER.php' method="get" id="rech2">
     
    			<h2>Recherche sur toute la base MAPI avec recherche dynamique (Un champs de recherche vide affiche toute la base !) :</h2><input type="text" name="mot" id="mot" onkeyup="lookup(this.value);" onblur="fill();" ></h2>
    				<div class="suggestionsBox" id="suggestions" style="display: none;">
    				<div class="suggestionList" id="autoSuggestionsList">
    					&nbsp;
    				</div>
    <br />
    <br />
     
     
     
     
    	</form>

  12. #12
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bon alors, j'ai regardé un peu ton code

    je ne comprends pas pourquoi le choix de la 2ème liste affiche les élements correspondants
    D'après ton code, il n'y a pas d'éléments à cause du $_SESSION['localisation'] qui n'est pas initialisé (voir le isset)

    Ou est initialisé cette variable ?

  13. #13
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut
    Tout d'abord, merci pour ton aide


    Alors, voilà pour l'initialisation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(isset($_POST['localisation']) ){
        $_SESSION['localisation'] = $_POST['localisation'];
    	//echo 'vous avez choisi la localisation '.$_SESSION['localisation'].'<br />';
    }
    if(isset($_GET['MASK'])){
        $_SESSION['MASK'] = $_GET['MASK'];
     
    	//echo 'vous avez choisi la sous-reseau'.$_SESSION['sous_reseau'].'<br />';
    }
    C'est surtout le fait que tout fonctionne bien, mais seulement après avoir fait une recherche en tapant un mot dans la fonction "Recherche".

    Merci encore

  14. #14
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Tu as bien au premier lancement:
    <option>- - - Choisissez un sous-reseau - - -</option>
    qui s'affiche et ensuite dés la première recherche tu as un réaffichage qui te donne tous les sous réseaux, c'est ça ?

    Deuxième question: Une fois l'application qui tourne normalement, tu la fermes puis tu la reouvres, ça marche bien ou c pareil il faut faire une recherche ?

  15. #15
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut
    Oui j'ai bien cela au premier lancement, donc dès que je choisis une localisation, il me propose en conséquence les sous-réseau correspondants juste en dessous. MAIS le soucis est dés lors que je clique sur le sous-réseau à afficher, il ne m'affiche rien.

    Après avoir effectuer une recherche en tapant un mot, et qu'après avoir afficher les éléments content ce mot, je peux réutiliser les 2 liste déroulantes, qui vont désormais fonctionner et afficher les éléments voulus.

    Deuxième question: Une fois l'application qui tourne normalement, tu la fermes puis tu la reouvres, ça marche bien ou c pareil il faut faire une recherche ?
    Non, il faut refaire une recherche.

    Merci à toi !

  16. #16
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Oui j'ai bien cela au premier lancement, donc dès que je choisis une localisation, il me propose en conséquence les sous-réseau correspondants juste en dessous. MAIS le soucis est dés lors que je clique sur le sous-réseau à afficher, il ne m'affiche rien.
    C'est à dire juste la premère option
    <option>- - - Choisissez un sous-reseau - - -</option>

    Qd tu change une des localisations de la première liste, tu as bien le submit ?

    Pour le cas de la recherche maintenant c'est quoi le fill(() et le lookup() ?

  17. #17
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut
    C'est à dire juste la premère option
    <option>- - - Choisissez un sous-reseau - - -</option>

    Qd tu change une des localisations de la première liste, tu as bien le submit ?
    Je me suis mal exprimé, ce que je voulais dire, c'est qu'il m'affiche bien les données de ma base de donnée, que ce soit dans le choix de la localisation, ou le choix du sous-réseau. Quand je clique sur une localisation, il m'affiche les sous réseaux correspondant, le problème, c'est que dés que je clique sur le sous-réseau, il doit normalement m'afficher toutes les informations le concernant dans un tableau en dessous. Mais il ne le fait pas dés que je le fais directement en premier en arrivant sur ma page. Il le fait que lorsque j'ai déjà effectuer une recherche en tapant un mot.

    Pour le cas de la recherche maintenant c'est quoi le fill(() et le lookup() ?
    C'est pour pouvoir transférer le mot ( de la liste de mots qu'il m'aura proposé ) sur lequel j'ai cliqué dans le champ de saisie du texte de la fonction recherche. Pour permettre le fonctionnement avec Javascript.

    Je n'en suis pas sûr à 100% puisque je l'ai fait avec un tutoriel.

  18. #18
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Pourquoi ne pas utiliser AJAX?
    Là tu as plusieurs form, tu dois recharger toute la page à chaque selection, stocker ces valeurs dans la session...
    Pour les fonctions fill et lookup, on ne peut rien dire sans le voir aussi.

    A+.

  19. #19
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Pourquoi ne pas utiliser AJAX?
    Oui bien sûr, on pourrait le faire mais je crois qu'il serait bon de finir déjà cette méthode qui marchera (enfin j'espère) quitte à changer après

    @Toad89: on avance, on avance, tu peux nous donner le code pour afficher les valeurs lors du choix dans la deuxième liste ?

  20. #20
    Membre averti
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 23
    Par défaut
    Merci à vous deux


    Voilà le code pour afficher les éléments selon le choix de la deuxième liste :
    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
     
    //Affichage du sous reseau approprié
    	if(isset($_GET['MASK']))
    	{
    	// Affichage du libellé du sous réseau - rech dans la base
    		$critere=mysql_real_escape_string ($_GET['MASK']);
    		$sql='SELECT * from SOUSRESEAU where sr_id='.$critere;
    		$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    		while($data = mysql_fetch_array($req)){
    		echo ('<h3>&nbsp;&nbsp;&nbsp;Affichage de la Plage IP ...'.$data["sr_libelle"].' '.$data["sr_ad_basse"]);}
     
    	// Ajout du bouton de script d'exportation en Excel
    		echo '
    		<script type="text/javascript" src="export.js">
    		</script>
    		&nbsp;&nbsp;&nbsp; <input type="button" value="=> .xls" style="color:red" onclick="export2excel()" >
    		'.'</h3>';
     
    //Requete SQL principale
    $sql='SELECT * from ADRESSEIP natural join SOUSRESEAU LEFT OUTER JOIN TYPE_ELEMENT ON ADRESSEIP.te_id=TYPE_ELEMENT.te_id '
                                                   .' LEFT OUTER JOIN UTILISATION ON ADRESSEIP.ut_id=UTILISATION.ut_id '
    											   .' LEFT OUTER JOIN ARMOIRE ON ADRESSEIP.ar_id=ARMOIRE.ar_id '
    											   .' where sr_id='.$critere.' ORDER BY '.$order
                                                    .';';
    	}
    Je mets aussi le code qui permet d'avoir les éléments de la base de donnée de la deuxième liste déroulante par rapport au choix effectué dans la première :

    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
     
    <form action="<?php echo($_SERVER['PHP_SELF']); ?>"  name="form_edit" method="get" id="form_edit" action="EDITER.php"> 
    	<select name="MASK" id="MASK" onchange="document.forms['form_edit'].submit();">
    		<option>- - - Choisissez un sous-reseau - - -</option>
    		<?php
    		    if(isset($_SESSION['localisation'])){
    				//$sql2 = "select sr_id, sr_vl_id ,sr_libelle,sr_ad_basse,sr_aff from SOUSRESEAU where sousreseau.sr_loc = ". $_SESSION['localisation'] ." ORDER BY sr_libelle ASC" ;
    				$sql2 = "SELECT DISTINCT sousreseau.sr_vl_id, sousreseau.sr_libelle, sousreseau.sr_ad_basse, sousreseau.sr_id, localisation.loc_tr_id ".
            " FROM sousreseau, localisation ".
            " WHERE sousreseau.sr_loc = ". $_SESSION['localisation'] ."
    						ORDER BY `loc_id`;";
    				$rech_sous_reseau = mysql_query($sql2);
    				if($rech_sous_reseau != false){
    					while($data = mysql_fetch_assoc($rech_sous_reseau)){  ?>
    						<option value="<?php echo $data['sr_id']; ?>"
    						<?php if(isset($_SESSION['localisation']) 
    								AND $_SESSION['MASK'] == $data['sr_vl_id'])
    								echo 'selected="selected"'; ?>>
    								<?php echo $data['sr_libelle']; echo'--->'; echo $data['sr_ad_basse'];  ?>
    						</option>
    					<?php
    					}
    				}
    				mysql_free_result($rech_sous_reseau);
    			}
    			?>
    	</select>
    </form>

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. script d'une liste dynamique liée
    Par majda_afkir dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 01/09/2009, 01h01
  2. [AJAX] Listes dynamiques liées-formulaire-Ajax
    Par leFred dans le forum AJAX
    Réponses: 2
    Dernier message: 12/08/2009, 17h17
  3. [AJAX] Formulaire avec deux listes dynamiques liées
    Par gotcha5832 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/03/2007, 10h40
  4. [AJAX] listes dynamiques liées a la premiere avec XMLhttpRequest
    Par metatron dans le forum Général JavaScript
    Réponses: 33
    Dernier message: 09/10/2006, 09h30
  5. Afficher listes dynamiques liées a la premiere
    Par metatron dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 05/09/2006, 16h46

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