Lambert_TMC Posted October 17, 2015 Share Posted October 17, 2015 Bonjour, je suis en train de modifier un module de formulaire pour récupérer les coordonnées des personnes n'ayant pas répondu à mes formulaires. L'idée c'est de récupérer, dans la table 'customer', les personnes qui sont absentes de la table 'submission' du formulaire portant l'id $id et qui font parti du groupe qui reçoit les formulaires. J'ai fait la requête suivante : $sql2 = 'SELECT * FROM `'._DB_PREFIX_.'customer` AS a INNER JOIN `'._DB_PREFIX_.'ukooformpro_submission` AS b ON b.`id_customer` != a.`id_customer` WHERE b.`id_ukooformpro_form` = '.(int)$id.' AND a.`id_default_group` = '.(int)4; $coordonnees2 = Db::getInstance()->ExecuteS($sql2); Ensuite j'ai un foreach qui affiche mes résultats : foreach ($coordonnees2 as $key) { echo "<tr>"; echo "<td style='border:1px solid #ccc; padding: 10px'>".$key['email']."</td>"; echo "</tr>"; } Ça fonctionne sauf qu'il m'affiche les personnes qui n'ont pas répondu en double et les personnes qui ont répondu une seule fois. Il faudrait qu'il m'affiche une seule fois les personne qui n'ont pas répondu... Quelqu'un aurait une idée SVP ?! Merci beaucoup ! Link to comment Share on other sites More sharing options...
Deithso Posted October 19, 2015 Share Posted October 19, 2015 Bonjour, Pour faire simple, essaies ceci : $sql2 = 'SELECT * FROM `'._DB_PREFIX_.'customer` AS a WHERE a.`id_default_group` = 4 AND a.`id_customer` NOT IN ( SELECT b.`id_customer` FROM `'._DB_PREFIX_.'ukooformpro_submission` AS b )'; $coordonnees2 = Db::getInstance()->ExecuteS($sql2); Link to comment Share on other sites More sharing options...
Lambert_TMC Posted October 19, 2015 Author Share Posted October 19, 2015 Bonjour Deithso, Merci pour ta réponse ! On viens de m'aider sur un autre forum, je pensais avoir donner la solution et passer le sujet en résolu. Voici la requête qui fonctionne : $sql2 = 'SELECT `email`, `firstname`, `lastname` FROM `'._DB_PREFIX_.'customer` WHERE `id_customer` NOT IN (SELECT c.`id_customer` FROM `'._DB_PREFIX_.'customer` AS c NATURAL JOIN `'._DB_PREFIX_.'ukooformpro_submission` AS s WHERE s.`id_ukooformpro_form` = '.(int)$id.'); $coordonnees2 = Db::getInstance()->ExecuteS($sql2); Voilà Merci en tout cas ! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now