bonjour,

J'aimerai insérer dans ma requête SQL une clause WHERE à l'aide de données issues d'une $_SESSION['Contacts']

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;
    }
   }
 }
Actuellement j'arrive à extraire les datas de tous mes contacts. j'aimerai le limiter aux id des contact trouvé stocké dans ma session