La boucle while retourn plusieurs données
Résolu/Fermé
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
-
11 juil. 2017 à 18:07
yg_be Messages postés 23452 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 février 2025 - 16 juil. 2017 à 00:56
yg_be Messages postés 23452 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 février 2025 - 16 juil. 2017 à 00:56
A voir également:
- La boucle while retourn plusieurs données
- Supprimer les données de navigation - Guide
- Reinstaller windows sans perte de données - Guide
- Trier des données excel - Guide
- Tnt base de données vide ✓ - Forum TNT / Satellite / Réception
- Comment sauvegarder toutes les données de mon téléphone - Guide
20 réponses
yg_be
Messages postés
23452
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 février 2025
Ambassadeur
1 564
11 juil. 2017 à 21:23
11 juil. 2017 à 21:23
bonsoir, et ainsi?
si tu veux une aide plus précise, je te suggère de décrire la structure de tes tables, et les "mêmes choses" retournées.
nous ne voyons pas ce que tu vois, nous ne savons pas ce que tu sais.
si tu ne nous donnes pas d'information, nous ne pouvons pas les deviner.
SELECT DISTINCT lib_cata, lib_prod FROM marque M LEFT JOIN produit P ON M.id_marq = P.id_marq LEFT JOIN catalogue CA ON CA.id_cata = P.id_cata LEFT JOIN couleur CO ON CO.id_prod = P.id_prod WHERE statu_cata=1 order by lib_cata
si tu veux une aide plus précise, je te suggère de décrire la structure de tes tables, et les "mêmes choses" retournées.
nous ne voyons pas ce que tu vois, nous ne savons pas ce que tu sais.
si tu ne nous donnes pas d'information, nous ne pouvons pas les deviner.
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
12 juil. 2017 à 19:09
12 juil. 2017 à 19:09
$data['lib_cata'] retourne 6 element de meme nom c'est a dire si j'ai mis accessoire il ya plusieurs fois accessoire. je veux qu'il affiche accessoire ensuite tout les element concernant accessoire . en d'autre tourne lister les enregistrements de catalogue 'accessoire,pc...' maintenant sous accessoire on affiche le nom du produit mais pas les meme nom du produit .
yg_be
Messages postés
23452
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 février 2025
1 564
12 juil. 2017 à 20:39
12 juil. 2017 à 20:39
ce que tu expliques est compliqué pour nous: nous connaissons lib_cata et lib_prod, et, dans ton message, tu utilises un autre vocabulaire.
il est normal que ton code te donne, par exemple:
cata1, prod1
cata1, prod2
cata2, prod1
cata3, prod1
cata1, prod3
si tu veux obtenir autre chose, tu dois, soit faire d'autres requêtes à la base de données, soit, par programme, traiter le résultat reçu pour afficher ce que tu veux.
tu peux cependant modifier la requête pour recevoir les résultats dans l'ordre, si nécessaire.
il est normal que ton code te donne, par exemple:
cata1, prod1
cata1, prod2
cata2, prod1
cata3, prod1
cata1, prod3
si tu veux obtenir autre chose, tu dois, soit faire d'autres requêtes à la base de données, soit, par programme, traiter le résultat reçu pour afficher ce que tu veux.
tu peux cependant modifier la requête pour recevoir les résultats dans l'ordre, si nécessaire.
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
13 juil. 2017 à 13:26
13 juil. 2017 à 13:26
comment je fais parce que moi je veux afficher
cata1,prod1 jusqu'a ----->prod N
cata2,prod2 jusqu'a----->prod N
cataN,prodn jusqu'a----->prod N
cata1,prod1 jusqu'a ----->prod N
cata2,prod2 jusqu'a----->prod N
cataN,prodn jusqu'a----->prod N
yg_be
Messages postés
23452
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 février 2025
1 564
13 juil. 2017 à 14:55
13 juil. 2017 à 14:55
moi je ferais ainsi:
1) retirer lib_prod de ta requête
2) dans le while, faire une seconde requête qui va chercher tous les lib_prod correspondants au $data['lib_cata']. cette seconde requete va utiliser de nouvelles variables, disons $data2, $envoi2 et $req_join2
3) suite à cette seconde requête, faire un second while (imbriqué dans le premier), qui va traiter $data['lib_cata'] et $data2['lib_prod']
ta seconde requete serait qualque-chose comme:
cela te permettre de te familiariser avec le concept de préparation d'une requête: tu pourras préparer la seconde requête hors des while.
1) retirer lib_prod de ta requête
2) dans le while, faire une seconde requête qui va chercher tous les lib_prod correspondants au $data['lib_cata']. cette seconde requete va utiliser de nouvelles variables, disons $data2, $envoi2 et $req_join2
3) suite à cette seconde requête, faire un second while (imbriqué dans le premier), qui va traiter $data['lib_cata'] et $data2['lib_prod']
ta seconde requete serait qualque-chose comme:
SELECT DISTINCT lib_prod FROM marque M LEFT JOIN produit P ON M.id_marq = P.id_marq LEFT JOIN catalogue CA ON CA.id_cata = P.id_cata LEFT JOIN couleur CO ON CO.id_prod = P.id_prod WHERE statu_cata=1 and lib_cata = ? order by lib_prod
cela te permettre de te familiariser avec le concept de préparation d'une requête: tu pourras préparer la seconde requête hors des while.
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
Modifié le 13 juil. 2017 à 15:54
Modifié le 13 juil. 2017 à 15:54
je suis vraiment confus ..
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
13 juil. 2017 à 15:56
13 juil. 2017 à 15:56
j'ai retiré lib_prod ensuite l'autre explication je ne comprend pas
$req_join='SELECT lib_cata FROM marque M LEFT JOIN produit P ON M.id_marq = P.id_marq LEFT JOIN catalogue CA ON CA.id_cata = P.id_cata LEFT JOIN couleur CO ON CO.id_prod = P.id_prod WHERE statu_cata=1 order by lib_cata'; $envoi = $bd->query($req_join); while ($data=$envoi->fetch()) { echo ' <li> <a class="mega-title" href="#" rel="nofollow noopener noreferrer" target="_blank">'.$data['lib_cata'].'</a></li> <li> <a href="#" rel="nofollow noopener noreferrer" target="_blank">'.$data['lib_prod'].' </a></li>'; }
yg_be
Messages postés
23452
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 février 2025
1 564
13 juil. 2017 à 16:42
13 juil. 2017 à 16:42
je te donne des explications générales et des suggestions.
si tu ne les comprends pas, je te suggère de faire d'abord des exercices plus simples.
je pense que cela te permettra de mieux progresser en php et en sql.
si tu ne les comprends pas, je te suggère de faire d'abord des exercices plus simples.
je pense que cela te permettra de mieux progresser en php et en sql.
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
13 juil. 2017 à 19:45
13 juil. 2017 à 19:45
ok mais votre suggestion je n'ai pas compris je veux reussir celui la les autres exercices je les fais je suis un peu perdu c'est pour cela je poste ici
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
Modifié le 13 juil. 2017 à 20:07
Modifié le 13 juil. 2017 à 20:07
allons pas à pas je vais comprendre , une histoire de 2 boucle while , je n'ai pas encore rencontrer un probleme pareil
yg_be
Messages postés
23452
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 février 2025
1 564
Modifié le 13 juil. 2017 à 20:23
Modifié le 13 juil. 2017 à 20:23
ok, essayons:
tu prends une copie des lignes de code qui commencent en $req_join et qui se terminent au }.
tu remplaces dans le code original les lignes de echo jusqu'au ; par le code que tu as copié
dans le code que tu viens d'insérer, tu ajoutes 2 derrière le nom de chaque variable, sauf $bd
tu remplaces le code
par
tu partages le code obtenu
tu prends une copie des lignes de code qui commencent en $req_join et qui se terminent au }.
tu remplaces dans le code original les lignes de echo jusqu'au ; par le code que tu as copié
dans le code que tu viens d'insérer, tu ajoutes 2 derrière le nom de chaque variable, sauf $bd
tu remplaces le code
$req_join2='SELECT lib_cata FROM marque M LEFT JOIN produit P ON M.id_marq = P.id_marq LEFT JOIN catalogue CA ON CA.id_cata = P.id_cata LEFT JOIN couleur CO ON CO.id_prod = P.id_prod WHERE statu_cata=1 order by lib_cata';
par
$req_join2='SELECT DISTINCT lib_prod FROM marque M LEFT JOIN produit P ON M.id_marq = P.id_marq LEFT JOIN catalogue CA ON CA.id_cata = P.id_cata LEFT JOIN couleur CO ON CO.id_prod = P.id_prod WHERE statu_cata=1 and lib_cata = "' . $data['lib_cata' ] . '" order by lib_prod';
tu partages le code obtenu
jordane45
Messages postés
38404
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 février 2025
4 732
13 juil. 2017 à 22:16
13 juil. 2017 à 22:16
Bonjour,
A partir de ton code d'origine ...
Deux solutions s'offrent à toi ...
Soit... tu gères avec des IF pour voir si, lorsque tu parcours ta boucle, la "cata" précédente égale celle que tu vas afficher (si oui.. tu ne l'affiche pas...)
Soit .. c'est plus simple... tu passes par un tableau intermédiaire.
Un truc du genre :
A partir de ton code d'origine ...
Deux solutions s'offrent à toi ...
Soit... tu gères avec des IF pour voir si, lorsque tu parcours ta boucle, la "cata" précédente égale celle que tu vas afficher (si oui.. tu ne l'affiche pas...)
Soit .. c'est plus simple... tu passes par un tableau intermédiaire.
Un truc du genre :
<?php require_once 'ca/codes/bdcon.php'; $req_join = 'SELECT DISTINCT P.id_cata,lib_cata,img_prod,lib_prod FROM marque M LEFT JOIN produit P ON M.id_marq = P.id_marq LEFT JOIN catalogue CA ON CA.id_cata = P.id_cata LEFT JOIN couleur CO ON CO.id_prod = P.id_prod WHERE statu_cata=1 order by lib_cata'; $envoi = $bd->query($req_join); print_r($req_join); // on retravaille l'array de sorti pour avoir un array plus simple à utiliser $arrTmp = array(); while ($data=$envoi->fetch()) { $arrTmp[$data['id_cata']]['lib_cata'] = $data['lib_cata']; $arrTmp[$data['id_cata']]['prod'][] = array('img'=>$data['img_prod'],'lib_prod'=>$data['lib_prod']); } //tableau remis en forme : print_r($arrTmp); //je boucle sur le nouvel array pour faire l'affichage if(!empty($arrTmp)){ foreach($arrTmp as $id_cata=>$Cata){ echo '<li> <a class="mega-title" href="#" rel="nofollow noopener noreferrer" target="_blank">'.$Cata['lib_cata'].'</a> </li>'; $arr_prod = !empty($Cata['prod']) ? $Cata['prod'] : NULL; //si il y a des produits... if($arr_prod){ foreach($arr_prod as $prod){ echo '<li> <a class="mega-title" href="#" rel="nofollow noopener noreferrer" target="_blank">'.$prod['lib_prod'].'</a> </li>'; } } } }
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
14 juil. 2017 à 10:55
14 juil. 2017 à 10:55
ok merci
yg_be
Messages postés
23452
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 février 2025
1 564
14 juil. 2017 à 13:51
14 juil. 2017 à 13:51
si résolu, peux-tu marquer comme résolu?
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
Modifié le 14 juil. 2017 à 16:44
Modifié le 14 juil. 2017 à 16:44
je veux les placer dans un tableau j'ai essayer cela ne me donne rien de bon tout es desordonné !!!!
IMPRIMANTE ACCESSOIRE
|-------------| | ---------|
-Canon -Ecouteur
-hp -...........
ce genre d'affichage je veux
IMPRIMANTE ACCESSOIRE
|-------------| | ---------|
-Canon -Ecouteur
-hp -...........
ce genre d'affichage je veux
jordane45
Messages postés
38404
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 février 2025
4 732
14 juil. 2017 à 16:47
14 juil. 2017 à 16:47
Tu as essayé quoi au juste ?
(montres ton code !!! )
Tu obtiens quoi actuellement ??
Quand tu parles de "tableau" .. tu veux parler d'un ARRAY ou d'une "table" html ???
Merci d'être plus précis !
(montres ton code !!! )
Tu obtiens quoi actuellement ??
Quand tu parles de "tableau" .. tu veux parler d'un ARRAY ou d'une "table" html ???
Merci d'être plus précis !
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
14 juil. 2017 à 16:51
14 juil. 2017 à 16:51
non non je parle de <table>
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
14 juil. 2017 à 17:04
14 juil. 2017 à 17:04
<?php require_once 'ca/codes/bdcon.php'; $req_join = 'SELECT DISTINCT P.id_cata,lib_cata,img_prod,lib_prod FROM marque M LEFT JOIN produit P ON M.id_marq = P.id_marq LEFT JOIN catalogue CA ON CA.id_cata = P.id_cata LEFT JOIN couleur CO ON CO.id_prod = P.id_prod WHERE statu_cata=1 order by lib_cata'; $envoi = $bd->query($req_join); //print_r($req_join); // on retravaille l'array de sorti pour avoir un array plus simple à utiliser $arrTmp = array(); while ($data=$envoi->fetch()) { $arrTmp[$data['id_cata']]['lib_cata'] = $data['lib_cata']; $arrTmp[$data['id_cata']]['prod'][] = array('img'=>$data['img_prod'],'lib_prod'=>$data['lib_prod']); } //tableau remis en forme : //print_r($arrTmp); //je boucle sur le nouvel array pour faire l'affichage if(!empty($arrTmp)){ foreach($arrTmp as $id_cata=>$Cata){ echo '<table border="1"><thead><tr><th> <li> <a class="mega-title" href="#" rel="nofollow noopener noreferrer" target="_blank">'.$Cata['lib_cata'].'</a> </li></th></tr></thead> '; $arr_prod = !empty($Cata['prod']) ? $Cata['prod'] : NULL; //si il y a des produits... if($arr_prod){ foreach($arr_prod as $prod){ echo '<tbody><tr><td><li> <a href="#" rel="nofollow noopener noreferrer" target="_blank">'.$prod['lib_prod'].' </a> </li></td></tr></tbody></table>'; } } } } ?>
les $Cata['lib_cata'] je veux les afficher en horizontal car c'est dans un menu deroulant et sous les $Cata['lib_cata'] leur produit correspondant dans les <a href="..." rel="nofollow noopener noreferrer" target="_blank"> obtenir leur id pour afficher le produit correspondant au choix de l'utilisateur
jordane45
Messages postés
38404
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 février 2025
4 732
Modifié le 14 juil. 2017 à 17:56
Modifié le 14 juil. 2017 à 17:56
Je ne comprend pas trop....
Là actuellement .. tu créés un TABLEAU par $Cata['lib_cata']
Mais toi.. tu veux que ça soit présenté comment exactement ?
Montre nous le code HTML que tu souhaites avoir en sorti ...
par exemple :
Là actuellement .. tu créés un TABLEAU par $Cata['lib_cata']
Mais toi.. tu veux que ça soit présenté comment exactement ?
Montre nous le code HTML que tu souhaites avoir en sorti ...
par exemple :
<table> <thead> <tr> <th> TOTO</th> </tr> </thead> <tbody> <tr> <td> Produit 1 </td> <td> Produit 2 </td> <td> Produit ... </td> </tr> </tbody> </table> <table> <thead> <tr> <th> TITI </th> </tr> </thead> <tbody> <tr> <td> Produit 1 </td> <td> Produit 2 </td> <td> Produit ... </td> </tr> </tbody> </table>
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
14 juil. 2017 à 18:35
14 juil. 2017 à 18:35
ce model
<table> <thead> <tr> <th> TOTO</th> <th> TITI </th> <th> TATA </th> </tr> </tr> </thead> <tbody> <tr> <td> Produit 1 </td> <td> Produit 1 </td> <td> Produit 1 </td> </tr> <tr> <td> Produit 2 </td> <td> Produit 2 </td> <td> Produit ...</td> </tr> <tr> <td> Produit 3 </td> <td> Produit 3 </td> <td> Produit ... </td> </tr> </tbody> </table>
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
15 juil. 2017 à 16:26
15 juil. 2017 à 16:26
Une idée de comment je peux m'y prendre??
jordane45
Messages postés
38404
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 février 2025
4 732
15 juil. 2017 à 16:28
15 juil. 2017 à 16:28
Oui.
jordane45
Messages postés
38404
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 février 2025
4 732
>
jordane45
Messages postés
38404
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 février 2025
Modifié le 15 juil. 2017 à 16:29
Modifié le 15 juil. 2017 à 16:29
Il te suffit de faire deux boucles
Une pour generer les th
Puis une pour replir le body avec les tr et les td
Une pour generer les th
Puis une pour replir le body avec les tr et les td
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
15 juil. 2017 à 16:32
15 juil. 2017 à 16:32
OK j'essaie xa
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
15 juil. 2017 à 16:38
15 juil. 2017 à 16:38
Ce sont les boucles de mon code ou-bien je dois en faire autre ?
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
15 juil. 2017 à 16:44
15 juil. 2017 à 16:44
J'ai introduit dans le code précédent tout es désordonné ou c'est moi j'ai mal placer regardé
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
15 juil. 2017 à 19:24
15 juil. 2017 à 19:24
Je ne m'en sort vraiment pas ! Avec le tableau
jordane45
Messages postés
38404
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
2 février 2025
4 732
15 juil. 2017 à 23:47
15 juil. 2017 à 23:47
1 - Arrête d'éditer tes messages précédents pour y mettre ton code modifié !
Déjà parceque les messages que nous avons posté en dessous n'ont plus aucun sens.. et ensuite par-ce que c'est casse pied de sans cesse devoir scroller de bas en haut pour regarder le code ...
2 - Tu fais n'importe quoi dans ton code..... Faudrait vraiment que tu commences par (ou apprendre les bases du langage que tu ne maitrise clairement pas..... ou que tu prennes au moins le temps d'essayer de comprendre ce que tu fais ! )
Tu ne vas pas me dire que ceci ne te choque pas :
Te rends tu compte que dans la boucle ... tu génère des tbody à chaque tour de la boucle ??? .... sais tu au moins comment est sensé être structuré une TABLE html ?????
3 - Ca ne sert à rien (hormis m'agacer....) de venir poster un message toutes les deux heures pour faire des "up" .... Déjà ça ne nous fera pas répondre plus vite (bien au contraire....) et ensuite.... au lieu de faire des UP tu devrais nous montrer où tu en es. Ce n'est pas possible qu'entre 17h04 et 19h24 tu n'aies rien essayé ..... ou alors tu attend qu'on te donne le code tout fait ???? (mais là... ce n'est pas notre façon de faire habituelle !!!!! )
4 - Ta question de départ ne concernait en rien un TABLEAU. tu étais sur des listes ( <ul><li>... ).
Normalement.... tu aurais du ouvrir une nouvelle discussion et non pas poser ta "nouvelle" question dans celle là !
5 - Comme je sens que si je ne te donne pas un debut de code... tu n'avanceras pas plus... voila ;
Essaye ça
NB: Je te laisse le compléter selon tes besoins.
Merci de mettre cette discussion en Résolu et d'en ouvrir une nouvelle pour ta prochaine question.
NB² : Dans ta prochaine question... essaye de t'appliquer pour expliquer ce que tu as fait et ce que tu VEUX faire... Histoire qu'on ne perdre pas autant de temps que cette fois ci.
Déjà parceque les messages que nous avons posté en dessous n'ont plus aucun sens.. et ensuite par-ce que c'est casse pied de sans cesse devoir scroller de bas en haut pour regarder le code ...
2 - Tu fais n'importe quoi dans ton code..... Faudrait vraiment que tu commences par (ou apprendre les bases du langage que tu ne maitrise clairement pas..... ou que tu prennes au moins le temps d'essayer de comprendre ce que tu fais ! )
Tu ne vas pas me dire que ceci ne te choque pas :
foreach($arr_prod as $prod){ echo '<tbody><tr><td><li>
Te rends tu compte que dans la boucle ... tu génère des tbody à chaque tour de la boucle ??? .... sais tu au moins comment est sensé être structuré une TABLE html ?????
3 - Ca ne sert à rien (hormis m'agacer....) de venir poster un message toutes les deux heures pour faire des "up" .... Déjà ça ne nous fera pas répondre plus vite (bien au contraire....) et ensuite.... au lieu de faire des UP tu devrais nous montrer où tu en es. Ce n'est pas possible qu'entre 17h04 et 19h24 tu n'aies rien essayé ..... ou alors tu attend qu'on te donne le code tout fait ???? (mais là... ce n'est pas notre façon de faire habituelle !!!!! )
4 - Ta question de départ ne concernait en rien un TABLEAU. tu étais sur des listes ( <ul><li>... ).
Normalement.... tu aurais du ouvrir une nouvelle discussion et non pas poser ta "nouvelle" question dans celle là !
5 - Comme je sens que si je ne te donne pas un debut de code... tu n'avanceras pas plus... voila ;
Essaye ça
<?php require_once 'ca/codes/bdcon.php'; $req_join = 'SELECT DISTINCT P.id_cata,lib_cata,img_prod,lib_prod FROM marque M LEFT JOIN produit P ON M.id_marq = P.id_marq LEFT JOIN catalogue CA ON CA.id_cata = P.id_cata LEFT JOIN couleur CO ON CO.id_prod = P.id_prod WHERE statu_cata=1 order by lib_cata'; $envoi = $bd->query($req_join); //print_r($req_join); // on retravaille l'array de sorti pour avoir un array plus simple à utiliser $a_colonnes = array(); $arr_body = array(); while ($data=$envoi->fetch()) { $a_colonnes[$data['id_cata']] = $data['lib_cata']; $arr_body[] = array('img'=>$data['img_prod'],'lib_prod'=>$data['lib_prod']); } //tableau remis en forme : //print_r($arrTmp); echo "<table> <thead> <tr>"; if(!empty($a_colonnes)){ foreach($a_colonnes as $id_cata=>$Cata){ echo "<th>".$Cata."</th>"; } } echo "</tr> </thead> <tbody>"; if(!empty($arr_body)){ foreach($arr_body as $row){ echo "<tr>"; if(!empty($arr_body)){ foreach($row as $prod){ echo "<td>".$prod['lib_prod']."</td>"; } } echo "</tr>"; } } echo "</tbody> </table>"; ?>
NB: Je te laisse le compléter selon tes besoins.
Merci de mettre cette discussion en Résolu et d'en ouvrir une nouvelle pour ta prochaine question.
NB² : Dans ta prochaine question... essaye de t'appliquer pour expliquer ce que tu as fait et ce que tu VEUX faire... Histoire qu'on ne perdre pas autant de temps que cette fois ci.
yg_be
Messages postés
23452
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 février 2025
1 564
16 juil. 2017 à 00:38
16 juil. 2017 à 00:38
je pense que delavega470 voudrait ceci:
si le select renvoie
il voudrait un tableau:
si le select renvoie
c1 c1p1 c1 c1p2 c1 c1p3 c2 c2p1 c2 c2p2 c3 c3p1
il voudrait un tableau:
c1 c2 c3 c1p1 c2p1 c3p1 c1p2 c2p2 c1p3
delavega470
Messages postés
298
Date d'inscription
dimanche 9 février 2014
Statut
Membre
Dernière intervention
24 mars 2020
48
16 juil. 2017 à 00:36
16 juil. 2017 à 00:36
Désolé si je vous agasse.
yg_be
Messages postés
23452
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 février 2025
1 564
16 juil. 2017 à 00:56
16 juil. 2017 à 00:56
inutile d'être désolé.
regarde ce que tu expliquais eu début, puis ce que tu as expliqué en #4, et puis ce que tu expliques ensuite. ce que tu voudrais a changé (au moins) trois fois.
ce serait plus respectueux pour nous si tu prenais le temps de bien tout expliquer dès le début, ne trouves-tu pas?
regarde ce que tu expliquais eu début, puis ce que tu as expliqué en #4, et puis ce que tu expliques ensuite. ce que tu voudrais a changé (au moins) trois fois.
ce serait plus respectueux pour nous si tu prenais le temps de bien tout expliquer dès le début, ne trouves-tu pas?