Requête avec attribut IN : SQL [Résolu/Fermé]

Signaler
Messages postés
31
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
8 novembre 2018
-
devman01
Messages postés
31
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
8 novembre 2018
-
bonjours, je veux récupérer une liste d’identifiants "id" de la base de données à condition que le "matricule" soit un élément du tableau "$Tab" :

$Tab=array(5,6,7,13,15);

$rq=mysqli_query($connect,"SELECT id FROM user WHERE matricule IN $Tab") or die (mysqli_error($connect));

.....


Mais ça n'affiche rien !

je sais qu'il y a une solution en PHP, comme récupérer tous les "id" et "matricule" , les mettre dans des variables et faire un test :

if(in_array($matricule,$Tab))

Mais la enregistrements sont nombreux, ça peut être lent un peu, c'est pour cela je veux filtrer la sélection grâce à IN si c'est possible.

Est-ce que vous me proposer une idée pour faire ça; et merci d'avance.

2 réponses

Messages postés
27280
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 janvier 2020
2017
Bonjour,

$Tab=array(5,6,7,13,15);

$strTab = "'".join("','",$Tab)."'"; // convertit ton array sous la forme '5','6','7','13','15'
$requete = "SELECT id FROM user WHERE matricule IN ($strTab)";

$rq=mysqli_query($connect,$requete) or die (mysqli_error($connect));

2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 79737 internautes nous ont dit merci ce mois-ci

devman01
Messages postés
31
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
8 novembre 2018

Merci jordane45, ça marche très bien
Messages postés
21187
Date d'inscription
mardi 27 juin 2006
Statut
Contributeur sécurité
Dernière intervention
22 juin 2016
1236
Salut,

Je ne sais pas si tu peux le faire avec le tableau, je n'ai pas testé mais quoi qu'il en soit, dans ta requête, tu dois concaténer ta requête et ta variable !
Écris comme cela: "SELECT id FROM user WHERE matricule IN $Tab", tu n'utilises pas ta variable la...

Voila, essaie avec cette base et remet nous la requête corrigée ;-) (avec un message d'erreur s'il y a)
"SELECT table WHERE Ma_Variable IN (".tontableau." )"
"Impossible is nothing"
devman01
Messages postés
31
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
8 novembre 2018

merci Regis59 mais dommage ça marche pas ..