Requête php en boucle
loby
Messages postés
70
Date d'inscription
Statut
Membre
Dernière intervention
-
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Nabla's Messages postés 18203 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'aimerais créer une fonction qui me permette d'exécuter des requête en boucle,je crée un site qui permet de visualiser un stock d'articles dans une base de données.l'internaute peut marquer un article comme objet favoris grâce à l'envoi d'un formulaire,suite à cela,il y a tout un traitement au niveau des chaines de caractères,pour au final me retrouver avec une variable de type tableau comprenant les id des articles favoris que je dois aller rechercher dans la db avec la fonction ici bas:
le problème c'est qu'elle ne m'affiche que le premier article
function getPneusFavoris($array){ //on certain d'être en présence d'un tableau car le test
//est effectué plus haut dans le script
//une requête est envoyé pour chaque articles
foreach($array as $id ){
$query="SELECT id_pneu,nom_fabricant,modele,nom_type,largeur,hauteur,type_radial,diametre,
indice_vitesse,indice_charge,prix_unitaire,promo,texte_inf
FROM fabricants,pneus,types_pneus
WHERE pneus.id_fabricant = fabricants.id_fabricant
AND (pneus.id_type_pneu = types_pneus.id_type)
AND (pneus.id_pneu = \"$id\")
AND (view =\"1\")";
//on affiche aussi bien les pneus auto que les pneus moto
$result=mysql_query($query);
if (!$result or mysql_num_rows($result)==0) {
return false;
}
$result = db_result_to_array($result); //fonction générique qui crée un tableau du résultat
return $result;
}
}
quelqu'un pourrait-il m'aider?merçi
J'aimerais créer une fonction qui me permette d'exécuter des requête en boucle,je crée un site qui permet de visualiser un stock d'articles dans une base de données.l'internaute peut marquer un article comme objet favoris grâce à l'envoi d'un formulaire,suite à cela,il y a tout un traitement au niveau des chaines de caractères,pour au final me retrouver avec une variable de type tableau comprenant les id des articles favoris que je dois aller rechercher dans la db avec la fonction ici bas:
le problème c'est qu'elle ne m'affiche que le premier article
function getPneusFavoris($array){ //on certain d'être en présence d'un tableau car le test
//est effectué plus haut dans le script
//une requête est envoyé pour chaque articles
foreach($array as $id ){
$query="SELECT id_pneu,nom_fabricant,modele,nom_type,largeur,hauteur,type_radial,diametre,
indice_vitesse,indice_charge,prix_unitaire,promo,texte_inf
FROM fabricants,pneus,types_pneus
WHERE pneus.id_fabricant = fabricants.id_fabricant
AND (pneus.id_type_pneu = types_pneus.id_type)
AND (pneus.id_pneu = \"$id\")
AND (view =\"1\")";
//on affiche aussi bien les pneus auto que les pneus moto
$result=mysql_query($query);
if (!$result or mysql_num_rows($result)==0) {
return false;
}
$result = db_result_to_array($result); //fonction générique qui crée un tableau du résultat
return $result;
}
}
quelqu'un pourrait-il m'aider?merçi
A voir également:
- Requête php en boucle
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Requête sql pix - Forum Python
1 réponse
J'ia l'impression qu'a chaque tour de ton for-each, tu écrases ton tableau $result ... tu devrais deja essayer de voir si tu passes bien plusieurs fois à ce niveau (laissees une trace dans le echo) .
ce que je te proposerai plutot, c'est de personnaliser ta requete en faisant un truc du genre:
ce que je te proposerai plutot, c'est de personnaliser ta requete en faisant un truc du genre:
$complement = "" $premier = true; foreach($array as $id ){ if $premier = false $complement .= ' OR (pneus.id_pneu = \"$id\") '; else { $complement .= '( (pneus.id_pneu = \"$id\") '; } } $complement .= ")"; ensuite tu fais ta requette comme ca: $query="SELECT id_pneu,nom_fabricant,modele,nom_type,largeur,hauteur,type_radial,diametre, indice_vitesse,indice_charge,prix_unitaire,promo,texte_inf FROM fabricants,pneus,types_pneus WHERE pneus.id_fabricant = fabricants.id_fabricant AND (pneus.id_type_pneu = types_pneus.id_type) AND ". $complement ." AND (view =\"1\")"; //on affiche aussi bien les pneus auto que les pneus moto