Vérifier couple en BDD
Résolu/Fermé
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
-
Modifié le 15 sept. 2019 à 16:51
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 - 16 sept. 2019 à 17:02
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 - 16 sept. 2019 à 17:02
A voir également:
- Vérifier couple en BDD
- Verifier un lien - Guide
- Verifier compatibilite windows 11 - Guide
- Vérifier si une phrase est correcte - Accueil - Google
- Vérifier mot de passe compromis - Guide
- Verifier les appareils connectés facebook - Guide
11 réponses
yg_be
Messages postés
23412
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 décembre 2024
Ambassadeur
1 557
15 sept. 2019 à 17:16
15 sept. 2019 à 17:16
bonjour, si je comprends bien, avec le code que tu nous montres, la ligne 23 n'est pas exécutée.
et tout fonctionne bien avec un code différent, que tu ne nous montres pas.
ai-je bien compris?
par ailleurs, tu ne nous montres qu'une partie de ton code, difficile de comprendre ce que tu veux faire.
je me demande, tout de même, ce que contient $idpers en ligne 12.
je suis surpris que tu ne vérifies pas le résultat de la ligne 23.
et tout fonctionne bien avec un code différent, que tu ne nous montres pas.
ai-je bien compris?
par ailleurs, tu ne nous montres qu'une partie de ton code, difficile de comprendre ce que tu veux faire.
je me demande, tout de même, ce que contient $idpers en ligne 12.
je suis surpris que tu ne vérifies pas le résultat de la ligne 23.
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
15 sept. 2019 à 18:09
15 sept. 2019 à 18:09
Voici mon script qui fonctionne bien.
Donc il me reste à faire la requète qui me permet de vérifier si le couple idpers et idmanif existe.
si le couple existe message d'eereur
si le couple n'existe pas INSERT
if($submit) { switch($haction) { case 'new': if ($effectif) { if (is_array($effectif)) { foreach($effectif as $idpers) { // Construction de la requete d'ajout $sql = "INSERT INTO cdc_repondre (idrepon, idpers, idmanif, reponse) VALUES (:idrepon, :idpers, :idmanif, :reponse)"; $datas = array('idrepon' => $idrepon, 'idpers' => $idpers, 'idmanif' => $idmanif, 'reponse' => $reponse); $result = executeQuery($sql,$datas); $typenr = "enregistré"; $reqaj = $sql; } } $sql = "SELECT idmanif,dmanif FROM cdc_manifestations WHERE idmanif = :idmanif"; $datas = array('idmanif' => $idmanif); $result = executeQuery($sql,$datas); $donnees = $result->fetch(); $success = "<span class='success'>Un musicien pour l'effectif de la sortie du - ".dateFR("$donnees->dmanif")." - a été $typenr.</span>"; } else $erreur = '<span class="erreur">Tu n\'as pas sélectionné de membres !</span>'; break; } }
Donc il me reste à faire la requète qui me permet de vérifier si le couple idpers et idmanif existe.
si le couple existe message d'eereur
si le couple n'existe pas INSERT
yg_be
Messages postés
23412
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 décembre 2024
1 557
15 sept. 2019 à 18:43
15 sept. 2019 à 18:43
quand tu fais ExecuteQuery, il est important de vérifier si tout s'est bien passé. par exemple en ligne 13 de ton code partagé en #2.
dans le code que tu as partagé au départ, tu utilises $idpers en ligne 12. quel est, à ton avis, le contenu de $idpers à ce moment-là?
dans le code que tu as partagé au départ, tu utilises $idpers en ligne 12. quel est, à ton avis, le contenu de $idpers à ce moment-là?
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
15 sept. 2019 à 19:21
15 sept. 2019 à 19:21
Le contenu de $idpers c'est le nom et prenom de la personne que je sélectionne via mes checkboxs.
Je n'ai pas compris lorsque tu me dit de vérifier en ligne 13 de mon second post. parce que j'ai bien mon retour comme quoi l'insert c'est bien déroulé.
Je n'ai pas compris lorsque tu me dit de vérifier en ligne 13 de mon second post. parce que j'ai bien mon retour comme quoi l'insert c'est bien déroulé.
yg_be
Messages postés
23412
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 décembre 2024
1 557
15 sept. 2019 à 20:17
15 sept. 2019 à 20:17
à propos de $idpers: à quelle ligne est-ce mis à jour avant la ligne 12?
comment as-tu ton retour disant que l'insert s'est bien déroulé?
comment as-tu ton retour disant que l'insert s'est bien déroulé?
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
15 sept. 2019 à 20:26
15 sept. 2019 à 20:26
c'est cette ligne qui me dit que tout cest bien déroulé.
je ne comprends pas ta question, excuse moi!
"à propos de $idpers: à quelle ligne est-ce mis à jour avant la ligne 12? "
$success = "<span class='success'>Un musicien pour l'effectif de la sortie du - ".dateFR("$donnees->dmanif")." - a été $typenr.</span>";
je ne comprends pas ta question, excuse moi!
"à propos de $idpers: à quelle ligne est-ce mis à jour avant la ligne 12? "
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
4 719
15 sept. 2019 à 20:58
15 sept. 2019 à 20:58
Bonjour
Une fois de plus ....est-ce que ton souci concerne la requête SQL où le code PHP ?
Si c'est au niveau du code php...il aurait fallu poster dans le forum php...!!
Ensuite..tu utilises pdo... as tu activé l'affichage des erreurs PHP et pdo ?
As tu essayé de faire un print_r de tes variables pour t'assurer qu'elles sont correctement remplies ?
Une fois de plus ....est-ce que ton souci concerne la requête SQL où le code PHP ?
Si c'est au niveau du code php...il aurait fallu poster dans le forum php...!!
Ensuite..tu utilises pdo... as tu activé l'affichage des erreurs PHP et pdo ?
As tu essayé de faire un print_r de tes variables pour t'assurer qu'elles sont correctement remplies ?
yg_be
Messages postés
23412
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 décembre 2024
Ambassadeur
1 557
15 sept. 2019 à 21:17
15 sept. 2019 à 21:17
cette ligne qui te dit que tout s'est bien déroulé est basée sur la valeur de $typenr. en ligne 14, tu supposes que tout s'est bien passé, alors que tu n'as pas vérifié le résultat de la ligne 13.
.
tu penses que le contenu de $idpers c'est le nom et prenom de la personne que l'utilisateur a sélectionné via ses checkboxs. dans quelle partie du code est-ce que le nom et le prénom sont mis dans idpers?
.
tu penses que le contenu de $idpers c'est le nom et prenom de la personne que l'utilisateur a sélectionné via ses checkboxs. dans quelle partie du code est-ce que le nom et le prénom sont mis dans idpers?
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
15 sept. 2019 à 22:33
15 sept. 2019 à 22:33
c'est dans mon formulaire j'ai:
le reste de mon formulaire n'a aucun intéret je crois.
echo '<input type="checkbox" name="effectif[]" value="'.$donnees->idpers.'"> '.$donnees->nom.' '.$donnees->prenom.'<br/>'; $nbp++;
le reste de mon formulaire n'a aucun intéret je crois.
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
15 sept. 2019 à 22:16
15 sept. 2019 à 22:16
oui j'utilise pdo et j'ai activé l'affichage d'erreurs.
alors voilà je pense que cela viens de ma requète lorsque je fait un print_r mon résultat est
mon INSERT à bien fonctionné mais j'avais déjà une entrée dans ma BDD qui correspond à celle-ci à savoir:
idmanif => 612
mon array => 2
j'aurai du avoir mon message "erreur" afin d'éviter d'avoir ce couple de doublon.
alors voilà je pense que cela viens de ma requète lorsque je fait un print_r mon résultat est
Array ( [idmanif] => 612 [reponse] => absent [haction] => new [effectif] => Array ( [0] => 2 ) [submit] => Enregistrer )
mon INSERT à bien fonctionné mais j'avais déjà une entrée dans ma BDD qui correspond à celle-ci à savoir:
idmanif => 612
mon array => 2
j'aurai du avoir mon message "erreur" afin d'éviter d'avoir ce couple de doublon.
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
4 719
15 sept. 2019 à 22:41
15 sept. 2019 à 22:41
Tu dis avoir un souci au niveau de ta requête...et pourtant tu ecris
Une fois de plus...ta question est si bien expliquée....
A moins qu'il ne s'agisse de la requête SELECT ?
As tu, au moins, testé tes requetes DIRECTEMENT dans ta bdd ?
Histoire de voir si le souci vient réellement de tes requetes...ou de ton code php ?
Je rappelle également que la fonction rowCount ne s'utilise jamais pour une requête select.
mon INSERT à bien fonctionné
Une fois de plus...ta question est si bien expliquée....
A moins qu'il ne s'agisse de la requête SELECT ?
As tu, au moins, testé tes requetes DIRECTEMENT dans ta bdd ?
Histoire de voir si le souci vient réellement de tes requetes...ou de ton code php ?
Je rappelle également que la fonction rowCount ne s'utilise jamais pour une requête select.
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
15 sept. 2019 à 23:41
15 sept. 2019 à 23:41
j'ai testé ma requète dans ma BDD
elle me retourne bien 1
SELECT COUNT(*) AS verif FROM cdc_repondre WHERE cdc_repondre.idpers = 2 AND cdc_repondre.idmanif = 612
elle me retourne bien 1
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
4 719
15 sept. 2019 à 23:53
15 sept. 2019 à 23:53
Et donc.. ta requête fonctionne...don souci résolu ??
Sinon...Finalement ton souci conerne un pb de requete sql (forum que tu as choisi...) ou un souci de code php ?
Et puis...cette requête... elle se trpuve où dans le code que tu nous as posté ?
Sinon...Finalement ton souci conerne un pb de requete sql (forum que tu as choisi...) ou un souci de code php ?
Et puis...cette requête... elle se trpuve où dans le code que tu nous as posté ?
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
16 sept. 2019 à 00:12
16 sept. 2019 à 00:12
oui au niveau sql ça àl'air d'être bon alors je pense peut-être que c'est la condition qui pose problème! car l'INSERT se fait et que la requète SELECT est bonne. Je devrais entrer dans le "else".
$sql = "SELECT COUNT(*) AS verif FROM cdc_repondre WHERE cdc_repondre.idpers = :idpers AND cdc_repondre.idmanif = :idmanif"; $datas = array('idpers' => $idpers, 'idmanif' => $idmanif); $result = executeQuery($sql,$datas); $donnees = $result->fetch(); if($donnees->verif == 0) { if (is_array($effectif)) { foreach($effectif as $idpers) { // Construction de la requete d'ajout $sql = "INSERT INTO cdc_repondre (idrepon, idpers, idmanif, reponse) VALUES (:idrepon, :idpers, :idmanif, :reponse)"; $datas = array('idrepon' => $idrepon, 'idpers' => $idpers, 'idmanif' => $idmanif, 'reponse' => $reponse); $result = executeQuery($sql,$datas); $typenr = "enregistré"; $reqaj = $sql; } } $sql = "SELECT idmanif,dmanif FROM cdc_manifestations WHERE idmanif = :idmanif"; $datas = array('idmanif' => $idmanif); $result = executeQuery($sql,$datas); $donnees = $result->fetch(); $success = "<span class='success'>Un musicien pour l'effectif de la sortie du - ".dateFR("$donnees->dmanif")." - a été $typenr.</span>"; echo "<pre>"; print_r($_POST); echo "</pre>"; } else { $erreur = "<span class='erreur'>Cet Adhérent existe déjà pour cette sortie</span>"; }
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
4 719
16 sept. 2019 à 00:16
16 sept. 2019 à 00:16
Tu as essayé d'afficher le contenu de la variable
$donnees->verif ??
Ps: je deplace ta question dans le bon forum (une fois de plus...)
$donnees->verif ??
Ps: je deplace ta question dans le bon forum (une fois de plus...)
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
16 sept. 2019 à 09:19
16 sept. 2019 à 09:19
Bonjour,
Le contenu de la variable $donnees->verif me retourne 0 !
Le contenu de la variable $donnees->verif me retourne 0 !
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
16 sept. 2019 à 10:36
16 sept. 2019 à 10:36
Bonjour,
Je débarque un peu dans la résolution du problème, mais je constate dans ton script que tu fais ton test SELECT sur un $idpers qui n'est pas le même que dans tes requêtes INSERT... L'un est une variable unique définie on ne sait comment, l'autre est issu d'un tableau POST...
Tu es sûr que ces requêtes sont cohérentes ?
Xavier
Je débarque un peu dans la résolution du problème, mais je constate dans ton script que tu fais ton test SELECT sur un $idpers qui n'est pas le même que dans tes requêtes INSERT... L'un est une variable unique définie on ne sait comment, l'autre est issu d'un tableau POST...
Tu es sûr que ces requêtes sont cohérentes ?
Xavier
jordane45
Messages postés
38358
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 décembre 2024
4 719
>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
16 sept. 2019 à 11:06
16 sept. 2019 à 11:06
Hello,
Pour traduire ce que Xavier souhaite te faire comprendre (car j'ai bien peur que ça ne soit pas clair pour lachaux...) ... C'est surtout que le test se trouve en dehors de la boucle....
Et donc... $idPers ne correspond pas....
Pour traduire ce que Xavier souhaite te faire comprendre (car j'ai bien peur que ça ne soit pas clair pour lachaux...) ... C'est surtout que le test se trouve en dehors de la boucle....
Et donc... $idPers ne correspond pas....
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
16 sept. 2019 à 14:16
16 sept. 2019 à 14:16
Bonjour,
Merci c'est exact ma condition était en dehors de ma boule foreach et donc maintenant cela fonctionne bien. Tout était bien fait mais mal positionné. Je vous remercie de votre patience.
Cordialement.
Merci c'est exact ma condition était en dehors de ma boule foreach et donc maintenant cela fonctionne bien. Tout était bien fait mais mal positionné. Je vous remercie de votre patience.
Cordialement.
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
16 sept. 2019 à 17:02
16 sept. 2019 à 17:02
Merci je vois que vous avez mis en résolu.