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 :

[Résolu] Requête PDO ne fonctionne pas dans un foreach


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut [Résolu] Requête PDO ne fonctionne pas dans un foreach
    Bonjour à tous, je rencontre aujourd'hui un petit problème avec une requête et un boucle.

    Je suis en train de modifier un code existant dans lequel je dois effectuer une requête, le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $ajout_service = Connexion::prepared(<<<SQL
    			INSERT INTO `personne_service` (id_pers, id_serv)
    			VALUES (:id_pers, :id_serv)
    SQL
    			, array(
    				':id_pers' => $recup_id['id'],
    				':id_serv' => $_POST['service']
    			));
    Ceci fonctionne parfaitement seulement, je dois l'adapter pour qu'une personne fasse partie de plusieurs services.

    J'ai donc modifié le code, que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $ajout_service = '';
    foreach($_POST['service'] as $service) {
    	$ajout_service = Connexion::prepared(<<<SQL
    		INSERT INTO `personne_service` (id_pers, id_serv)
    		VALUES (:id_pers, :id_serv)
    SQL
    		, array(
    			':id_pers' => $recup_id['id'],
    			':id_serv' => $service
    		));
    }
    Mais la requête ne fonctionne plus, je n'arrive pas à trouver pourquoi, peut-être verrez vous une chose que je n'arrive pas à voir.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quel classe utilises-tu ?

    Tu as contrôlé $service dans ta boucle ?
    Tu as activé les erreurs PDO ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2013
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    J'ai trouvé, en fait ce POST récupère un résultat de formulaire.

    Et je voulais faire un foreach sur quelque chose qui n'est pas un tableau.

    Dans mon formulaire j'ai changé mon champ "service" qui est passé de
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <select id='form_service' name='service'>
    A :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <select id='form_service' name='service[]'>
    Et j'arrive à récupérer les valeurs du tableau dans mon foreach.

    Résultat ma requête ajoute parfaitement une ligne pour chaque services.

Discussions similaires

  1. [AC-2010] fonctions Droite et Gauche qui ne fonctionnent pas dans une requête
    Par samy35 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/03/2014, 11h14
  2. Mon UNION ne fonctionne pas dans ma requête ?
    Par wwwbillgates dans le forum Requêtes
    Réponses: 7
    Dernier message: 28/12/2010, 16h48
  3. INNER JOIN ne fonctionne pas dans ma requête SQL
    Par kryogen dans le forum Langage SQL
    Réponses: 13
    Dernier message: 18/03/2009, 11h25
  4. La fonction CurrentDb() ne fonctionne pas dans une requête
    Par Sébastien Le Goyet dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2005, 18h46
  5. Réponses: 1
    Dernier message: 27/10/2005, 22h48

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