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 :

Select multiple et requete


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Etudiant(IUT info)/Stagiaire
    Inscrit en
    Mai 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant(IUT info)/Stagiaire

    Informations forums :
    Inscription : Mai 2013
    Messages : 49
    Points : 47
    Points
    47
    Par défaut Select multiple et requete
    Bonjour à toutes et à tous !

    Pour le contexte, je suis en deuxieme année d'informatique, donc soyez indulgent ^^

    Voila, je commence vraiment à me prendre la tête sur mon probleme. J'ai beaucoup cherché des informations, mais impossible d'adapter les codes trouvés, pour les rendre conforme au mien.
    Mon but est de recuperer ce que l'utilisateur selectionne dans un <select> pour ensuite pouvoir exploiter ses choix à travers une requete sql.

    Je ne sais pas si je suis bien clair dans mes explications (car mes neurones sont off la )
    L'ideal pour moi serait qu'on arrive à m'expliquer comment faire, sans pour autant me faire le travail. (Chiant déjà le type)
    Voici mon select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Statut du candidat : 
    <select name="statut" size=3 multiple="multiple">
    <?php //Requête du select pour le statut du candidat.
    $queryType ="SELECT DISTINCT Type FROM candidat where type <>'opt27' and type <>'' order by type ASC";
    $resuType = mysqli_query($co,$queryType) or die (mysqli_error($co)." queryType");
    while ($row = mysqli_fetch_assoc($resuType))
    {
    ?>
    <option><?php echo $row['Type'];?></option>
    <?php
    }
    </select>
    Et voici mon pseudo code de traitement. Je dis "pseudo" car je dois être très loin du bon 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
    if(!empty ($_POST['affectation'])) //Choix de l'affectation
    {
    	foreach($_POST['affectation'] as $keylist=>$liste)
    	{
    		if(is_array($liste) && count($liste)>0)
    		{
    			foreach($liste as $val)
    			{
    				$verif=trim($val);
    				if(!empty($verif))
    				{
    					$where.= ' '.$keyliste.'="'.$verif.'" OR' ;
    				}
    			}
    		}
    $where = rtrim($req,' OR');
    $where.=' AND' ;
    	}
    }//Fin du choix de l'affectation
    ?>
    Voici ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $queryStats = "SELECT DISTINCT * $from $where $OrderBy";
    Je vous remercie du temps que vous pourrez m'accorder, ainsi que des explications.

    Pour le foreach, comment rendre mon select mutliple en tableau ?
    Dois-je utiliser un foreach ?
    Suis-je à l'ouest ???

    Cordialement.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre du Club
    Homme Profil pro
    Etudiant(IUT info)/Stagiaire
    Inscrit en
    Mai 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant(IUT info)/Stagiaire

    Informations forums :
    Inscription : Mai 2013
    Messages : 49
    Points : 47
    Points
    47
    Par défaut
    Bon, j'ai réussi grace au tuto a rendre mon select comme un tableau.

    J'ai aussi modifier ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(!empty ($_POST['affectation'])) //Choix de l'affectation
    {
    	foreach($_POST['affectation'] as $keylist=>$liste)
    	{
    		$where.= " AND Affectation = ".$liste;
    	}
    }//Fin du choix de l'affectation
    Cepandant, maintenant, j'ai une erreur "Champ 'CDG' inconnu dans where clause" Or, je vous joint la partie de la base qui correspond.

    Est-ce un probleme de ' ' ou autre chose ?

    J'essaie d'avancer étape par étape, car je sais bien que j'aurais un probleme de 'OR' dans la requete ^^
    Images attachées Images attachées  

  4. #4
    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
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $where.= " AND Affectation = '".$liste."'";
    Sinon fait un echo de la requête avant de l'exécuter.

    A+.

  5. #5
    Membre du Club
    Homme Profil pro
    Etudiant(IUT info)/Stagiaire
    Inscrit en
    Mai 2013
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant(IUT info)/Stagiaire

    Informations forums :
    Inscription : Mai 2013
    Messages : 49
    Points : 47
    Points
    47
    Par défaut
    Je faisais bien un echo de ma requete, cependant, avec une erreur elle ne s'affichait pas ^^

    En tout cas merci bien, je me doutais que c'était un problème de ' ' ou " " mais je n'avais pas la foi de tester tout et n'importe quoi. Ma requete marche parfaitement, y compris pour le 'OR'. Un simple compteur fait l'affaire.

    Merci de m'avoir aidé!

    Sujet résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] requete select multiple condition
    Par totot dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 22/01/2014, 21h19
  2. Select multiple
    Par lfournial dans le forum Struts 1
    Réponses: 20
    Dernier message: 24/02/2011, 12h14
  3. Réponses: 4
    Dernier message: 14/03/2007, 08h57
  4. Réponses: 12
    Dernier message: 05/10/2006, 15h00
  5. [ACCESS] - Requete issue d'une liste à selection multiple
    Par fredhali2000 dans le forum Access
    Réponses: 4
    Dernier message: 22/02/2006, 15h33

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