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 :

Requêtes SQL paramétrée avec un array()


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Par défaut Requêtes SQL paramétrée avec un array()
    Bonjour à tous,

    J'ai une zone de selection multiple via laquelle je selectionne plusieurs valeurs que je récupére dans un tableau:

    Voila ma zone de selection multiple :
    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
     
    <select name="lstbox1" id="one" size="5" multiple="multiple"STYLE="height:150; width:400 ; color:#606060; face:arial; font-weight:bold;"ondblclick="bascule(this,'two')" >
    <?php
    //on recupere le champs Code groupe et libelle client 
    $champs1=$result->Fields(0);
    $champs2=$result->Fields(1);
    // on affiche le resultat dans la zone de selection multiple 
    while (!$result->EOF) 
    {
    	echo "<option value=".$champs1->value.">".$champs1->value." <b>|</b> ".$champs2->value."</option>";
    $result->MoveNext();
    }
    ?>
    </select>
    <!-- Les valeurs seléctionnées sont basculer sur ce <select multiple> -->
    <select name="code_groupe[]" id="two" ondblclick="bascule(this,'one')"STYLE="height:150 ; width:400; color:#ff0000; face:arial; " multiple="multiple" size="9"> 
    </select>

    Ensuite je récupere les valeurs selectionnées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if(isset($_POST['code_groupe']))
    {
    $code_groupe = $_POST['code_groupe'];
    $nb1 = count($code_groupe);
    }
    else 
    $code_groupe = "";

    Les valeurs que j'ai récupérer sont dans mon tableau $code_groupe!
    Ma question est comment puis-je les passer en paramètre dans une requete SQL :

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM matable 
    where champs= '$code_groupe[1]' 
    OR champs= '$code_groupe[2]'
    ...etc

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Si est un tableau alors tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql .= 'WHERE champ IN(' . implode(', ', $_POST['code_groupe'] . ')' ;
    Ce qui créera un WHERE du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE champ IN(123, 234, 876)

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Par défaut
    Merci pour ta réponse Séb !

    Effectivement je crois que cette solution me conviendrais mais j'ai un souci de syntaxe un ";" ou une cote en tro...

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Bout de script ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2007
    Messages : 197
    Par défaut
    Voici ma requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $requete = ' SELECT  mes_champs				
    			FROM mes_tables					
    			WHERE WRKPCSDTA1_OMA_HISCOM.BCCDZA IN(' . implode(', ', $_POST['code_groupe'] .')		
    			GROUP BY mes_champs
    			';
    et l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Parse error: syntax error, unexpected ';' in G:\ISD\BDD MySQL\EasyPHP-5.3.3\www\Applicom\connexion_access.php on line 49
    Qui correspond au point virgule en bout de requete

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Manque la parenthèse fermante du implode( ).

Discussions similaires

  1. requête sql paramétrée avec clause like et astérisque %
    Par adelneo dans le forum Bases de données
    Réponses: 8
    Dernier message: 21/01/2011, 18h10
  2. Requête SQL query avec paramètre non représentable graphiquement
    Par bimone dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/08/2009, 17h26
  3. Réponses: 3
    Dernier message: 12/12/2008, 08h05
  4. Réponses: 3
    Dernier message: 04/06/2007, 12h29
  5. Réponses: 4
    Dernier message: 17/02/2007, 15h11

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