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 :

Affiner un affichage en fontion de plusieurs listes deroulantes


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Affiner un affichage en fontion de plusieurs listes deroulantes
    Bonjour,

    Je viens vers vous car je ne sais pas du tout comment m'y prendre.
    Je cherche à faire un "recherche multicritères" via des listes déroulantes sur mon site en php/mysql.
    J'ai 4 listes déroulantes (non liées) qui correspondent à une requête SQL et qui rafraîchissent l'affichage des résultats dés qu'on sélectionne un élément.

    Je souhaiterais que lorsque 1 élément de liste A est sélectionné, si un élément de la liste B est choisi, la recherche s'affine et ainsi de suite.
    Sachant que des listes ne sont pas forcément utilisées.

    Je crois qu'il faut stocker les valeurs choisies dans des variables JavaScript ou un truc comme ça mais je ne vois pas trop comment

    Pour l'instant tout marche séparément.
    Si vous avez besoin je peux mettre des bouts de code.

    Merci d'avance pour votre aide.

    Cordialement,

    Armelita

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Regarde d'abord dans les faq javascript ou php de developpez.com

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 10
    Points
    10
    Par défaut
    Bonjour
    Ben c'est que j'ai fais mais j'ai pas trop trouvé de réponse à ma question.
    Je suis débutante et en fait il me manque un peu l'algorithmie du processus.

    Je crois qu'il faut stocker les valeurs de mes listes déroulantes dans des variables javascript mes après je sèche...

    Si j'arrive à trouver la marche à suivre je pense qu'au niveau du code je pourrais m'en sortir.

    Merci

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Alors listes liées en php:
    http://php.developpez.com/sources/?p...ms#listesliees

    en javascript:
    http://javascript.developpez.com/faq...js#listesLiees

    en ajax
    http://siddh.developpez.com/articles/ajax/

    ensuite les différences: php c'est coté serveur cela oblige à reafficher la page.

    en javascript: coté client pas besoin de réactualisé

    en ajax : méthode que je préfère mais peux être plus dur à comprendre dans son fonctionnement

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Je ne sais pas si ton problème est réglé, mais voici une rapide proposition de code pour ton souci
    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
    59
    60
     
    <form action="index.php" method="Post" name="IndexForm" id="IndexForm">>
    <label for="SelectA">Select A : </label>
    	<select  id="SelectA"  class="SelectA" name="SelectA">
    				<option value="0">Aucune Selection</option>
    				<option value="1" >Option1</option>
        			<option value="2" >Option2</option>
        			<option value="2" >Option3</option>
    	</select>
     
    	<label for="SelectB">Select B : </label>
    	<select  id="SelectB"  class="SelectB" name="SelectB">
    				<option value="0">Aucune Selection</option>
    				<option value="1" >Option1</option>
        			<option value="2" >Option2</option>
        			<option value="2" >Option3</option>
    	</select>
     
    	<input type="submit" value="envoyer">
    </form>
     
    <?php
    $WhereSQL = Array();
    $Index=0;
     
    if (isset ($_POST['SelectA']) and ! is_null ($_POST['SelectA']))
    {
    	switch ($_POST['SelectA'])
    	 {
    		case "1" : $WhereSQL [$Index] = " B = 'Option1'";
    					$Index ++;
    					Break;
            case "2" : 	$WhereSQL [$Index] = " B = 'Option2'";	
    			.....
    			...
    			..
    	 } 
    }
     
    if (isset ($_POST['SelectB']) and ! is_null ($_POST['SelectB']))
    {
    	....
    	....
    	....
     
     
    }
     
    $sql = "select * from Table "
    if (isset $WhereSQL[0])
    {
    	$sql .= " Where ";
    	foreach  ($WhereSQL as $key => $value)
    	{
    		$sql .= $value." AND ";
    	}
    	$sql= substr($sql, 0, -3);
    }
     
    ?>
    Bien sur , on peux faire quelque chose de mieux en évitant tous les switch
    en fonction de tes DATA.


    Cordialement

Discussions similaires

  1. [XL-2010] Duplication de plusieurs listes deroulantes
    Par bernadin.m dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/01/2014, 16h23
  2. Remplir plusieures listes deroulantes
    Par pat100 dans le forum jQuery
    Réponses: 0
    Dernier message: 03/04/2012, 10h49
  3. [AJAX] affichage champs a partir de liste deroulante
    Par Marsupilami36 dans le forum AJAX
    Réponses: 11
    Dernier message: 13/05/2009, 15h31
  4. Réponses: 2
    Dernier message: 24/11/2006, 10h24
  5. prob d'affichage de donnée d'1 liste deroulante
    Par zorba49 dans le forum ASP
    Réponses: 5
    Dernier message: 26/08/2005, 14h39

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