MySQL dans 3 colonnes

Résolu
Utilisateur anonyme - 15 août 2011 à 19:18
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 - 17 août 2011 à 08:46
Hello,

J'ai une page sur lequel je voudrais afficher mes produits (que je récupère dans une base MySQL) sur 3 colonnes comme ceci :

Produit 1 Produit 2 Produit 3
Produit 4 Produit 5 Produit 6
Produit 7 Produit 8

Dans mon code HTLM j'ai donc 3 div, qui font chacun une colonne. J'aimerais maintenant récupérer mes produits dans ma base MySQL pour les afficher dans mes colonnes comme sur le schéma ci-dessus.

Le problème est que le produit 1, 4, 7 sont dans la même div. Même chose pour 2, 5, 8 et 3, 6.

Comment faire pour que le premier produit aille dans ma div_gauche, le 2 dans le div_milieu, le 3 dans ma div_droite, le 4 dans ma div_gauche, le 5 dans ma div_milieu, ... ?

Merci pour vos pistes :)

Belle soirée

A++

Fabien Schenkels (alias fabienfs)

11 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
15 août 2011 à 21:06
@cod57 : Solution pourrie (pour rester poli). Pas question de faire ça "en dur" (faudrait à chaque fois changer le script )

Par contre c'est super simple avec une bête boucle, un tableau et un compteur :
$q = mysql_query('SELECT zzzzzzzzzzz');
$d array('', '', ''); $ct 0; $i = 0;
while ($r = mysql_fetch_assoc($q))
    $d[$i++ % 3] .= "{$r['zzzzzzz']}
\n";


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
3
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
15 août 2011 à 20:37
bonsoir
si tu recuperes un tableau de 8 elements
ils ont un indice de 0 à 7 pour $tableau


echo '


'.$tableau[0].'
'.$tableau[3].'
'.$tableau[6].'





'.$tableau[1].'
'.$tableau[4].'
'.$tableau[7].'





'.$tableau[2].'
'.$tableau[5].'


';

Bonne programmation !
0
Hello,

Très bonne idée a laquelle j'ai pensé mais j'en aurais plus que 7.. Et j'ai des produits qui vont se rajouter.

Merci :-)

A++
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
15 août 2011 à 21:15
@ghuysmans99 explique donc pourquoi ma solution est pourrie puisque c'est la même que la tienne ton modulo c'est que de la frime ça ferait exactement la même chose d' ailleurs il aurait pu mettre sa requête ...
pour savoir si c'est une ligne ou des lignes déjà

Bonne programmation !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
15 août 2011 à 21:25
mais j'en aurais plus que 7.. Et j'ai des produits qui vont se rajouter.
Voilà le pourquoi. Ta solution est limitée à 8 produits, et on dirait que fabienfs était coincé là-dessus. La mienne répond bien à sa question avec un exemple flexible, donc je vois pas où est le problème ...

PS : Mon but n'était pas de t'enfoncer, juste de dire que ce n'est pas la plus adaptée. Evidemment si ça ne change jamais, c'est bon

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
15 août 2011 à 21:41
@Ta solution est limitée à 8 produits ... pas d'accord
il suffit d'ecrire une boucle while autrement
et je redis au depart cela n'est pas precisé 1 ligne ou des lignes

mais c'est vrai que ton exemple est plus général
pour conclure je suis parti sur son exemple en pensant une ligne
et pas plusieurs lignes de la table. On pose d'ailleurs souvent cette question sur le forum quand il s'agit de galerie de photos à afficher en colonnes et lignes ... je connais le sujet
Bonne programmation !
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
15 août 2011 à 22:12
Ca m'aurait étonné de voir une table de produits avec 3 produits par ligne dans une BDD ... mais bon, la connerie humaine ou la fatigue sont sans limite ça on le sait bien (J'avais pas trop pensé à ça la première fois)

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
15 août 2011 à 22:21
sans rancunes ghuysmans99 ++

Bonne programmation !
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
16 août 2011 à 13:21
Je te conseille ce site: à essayer
C'est pas du PHP mais l'affichage, ce n'est pas du PHP..donc..
S.
0
Merci ghuysmans99, c'est parfait :)

belle soirée


A++
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
17 août 2011 à 08:46
Et moi ?? Ma solution elle sent le gazoil ?? LOL !!
0
Rejoignez-nous