fredrick Posté 7 Août 2006 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
Zodd Posté 8 Août 2006 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+
Portekoi Posté 8 Août 2006 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
captain_torche Posté 8 Août 2006 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)
Portekoi Posté 8 Août 2006 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant