A voir également:
- Comment modifier mon code de liste simple à multiple ?
- Modifier liste déroulante excel - Guide
- Code ascii - Guide
- Modifier dns - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Modifier code pin - Guide
1 réponse
Salut,
Une solution simple et rapide est d'utiliser l'opérateur de comparaison sql IN et la fonction php implode :
Pour éviter les injections sql, il faut également échapper les caractères réservés. Puisque tu n'utilises que des entier, tu peux simplement utiliser intval() pour éviter les injections sql, autrement il faudrait utiliser la méthode PDO::quote() ou une requête préparée avec des paramètres.
Soit :
Bonne journée
Une solution simple et rapide est d'utiliser l'opérateur de comparaison sql IN et la fonction php implode :
if(!empty($_POST['thematique'])) { $criteres[] = "thematique IN (" . implode(',', $_POST['thematique']) . ")"; }
Pour éviter les injections sql, il faut également échapper les caractères réservés. Puisque tu n'utilises que des entier, tu peux simplement utiliser intval() pour éviter les injections sql, autrement il faudrait utiliser la méthode PDO::quote() ou une requête préparée avec des paramètres.
Soit :
if(!empty($_POST['thematique'])) { $criteres[] = "thematique IN (" . implode(',', array_map('intval', $_POST['thematique'])) . ")"; }
Bonne journée
Si tu veux trouver les éléments commun entre deux tableau, tu peux utiliser la fonction php array_intersect() mais je ne comprend bien le rapport avec ta requête.
Le rapport avec la requête, c'est juste un exemple où :
thematique = 1|6 et $_POST['thematique'] = 3|4|6
Je vais essayer cette fonction merci.