bonjour,
J'aimerai insérer dans ma requête SQL une clause WHERE à l'aide de données issues d'une $_SESSION['Contacts']
Actuellement j'arrive à extraire les datas de tous mes contacts. j'aimerai le limiter aux id des contact trouvé stocké dans ma session
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 spl_autoload_register(function($class){ include '../CLASS/'. $class . '.php'; }); session_start(); // j'affiche bien l'Id des contacts de ma session['Contacts'] $arrayContacts = $_SESSION['Contacts']; foreach ($arrayContacts as $contact) { echo $contact->getId(). '<br>'; } $contactManager = new ContactManager(); $postProtected = Secur::protectArray($_POST); // PARTIE FIXE QUI RECUPERE TOUS LES NOMS DE LA BASE ===> MANQUE LA CLAUSE WHERE id = :id (pour les contacts de la $_SESSION['Contacts'] $sql = 'SELECT nom as NOM, prenom as PRENOM'; // PARTIE DYNAMIQUE ISSUE DU $_POST (insertion d'input dans le formulaire d'envoi grâce à une fonction javascript) foreach ($postProtected as $fields) { $sql .= ', ' .$fields. ' as ' .strtoupper($fields); } // ON CONCATENE LE TOUT AVEC LA TABLE $sql .= ' FROM joueurs'; // ==> WHERE ???? $stmt = $pdo->prepare($sql); $stmt->execute(); $datas = $stmt->fetchAll(); // dans $datas = on a le numéro de la ligue => à remplacer par son nom respectif foreach ($datas as $keyC => $contact) { foreach ($contact as $key => $value) { switch (strtoupper($key)) { case 'LIGUE': $datas[$keyC][$key] = $contactManager->getNomLigue($contact['LIGUE']); //echo 'ligue :' .$datas[$keyC][$key]. '<br>'; break; case 'SECTEUR': $datas[$keyC][$key] = $contactManager->getNomSecteur($contact['SECTEUR']); //echo 'secteur :' .$datas[$keyC][$key]. '<br>'; break; } } }
Partager