fredrick Posté 7 Août 2006 Partager Posté 7 Août 2006 Bonjour, Voici mon problème, j'ai fait une recherche dans une bdd et j'ai tout inséré dans une variable array ($papa=('jean','paul','pierre'); par exemple). J'aimerais maintenant savoir comment je peux faire une requête à MYSQL en disant je voudrais sélectionner tous les enfants dont le papa s'appelle jean ou bien paul ou bien pierre (donc à savoir la variable array de tout à l'heure $papa). Est-ce que ceci est correcte ? $donnees=mysql_query('select * from table where papa=$papa'); Je ne pense pas que ça marchera mais je ne sais pas comment demander ce genre de requête à mysql. Donc demander de rechercher tous les enfants dont papa s'appelle $papa[0] ou bien papa[1] ou bien papa[2] etc... jusqu'à la fin des valeurs contenues dans $papa. Valeurs que je ne connais pas car elle provient d'une base de donnée en perpétuelle mouvement. Merci beaucoup pour votre aide, Fred Lien vers le commentaire Partager sur d’autres sites More sharing options...
Zodd Posté 8 Août 2006 Partager Posté 8 Août 2006 Salut, peux-tu coller la structure exacte de ta/tes tables mysql ? Car c'est un peu flou là A+ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 8 Août 2006 Partager Posté 8 Août 2006 salut, Tu peux faire ainsi : select * from table where papa in ('".$papa[0] ."', '".$papa[1]."', '".$papa[2]."') Bon courage Portekoi Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 8 Août 2006 Partager Posté 8 Août 2006 J'imagine que tu ne connais pas forcément la longueur de ton array (Ca serait trop simple). Je te conseille dont de "transformer" ton array en chaîne de caractères, avec la fonction implode(), puis de passer ces résultats dans la requête SQL. Ce qui donnerait : <?php$liste_papas = implode(',',$papa);?> select * from table where papa in ($liste_papas) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Portekoi Posté 8 Août 2006 Partager Posté 8 Août 2006 Pour compléter au cas où ce sont des "varchar" : <?php$liste_papas = implode(',',$papa);$liste_papas = str_replace(",","','",$papa);?> Peut être ajouter un addslahes au début puis : select * from table where papa in ('".$liste_papas."') Les deux fonctionneront Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant