Couper une longue liste en plusieurs colonnes

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Couper une longue liste en plusieurs colonnes

Re: Couper une longue liste en plusieurs colonnes

par Methodz » 15 nov. 2012, 18:29

Ca marche, merci pour tout !

Re: Couper une longue liste en plusieurs colonnes

par dix2 » 15 nov. 2012, 16:54

Merci, j'en profite pour une petite question :
echo('<ul style="list-style-type:none; margin:0; padding:0;">');
Le echo est-il nécessaire ? C'est pas par flemme de le mettre que je demande, mais juste pour comprendre s'il a une réelle utilité
le echo n'est pas nécessaire mais personnellement, je préfère faire un echo plutot que fermer le code php juste avant et le rouvrir juste apres
en fait ça dépend s'il y a bcp de lignes html à insérer
si il y a un bloc de 10 lignes html, dans ce cas, je préfère fermer le code php puis le rouvrir
mais s'il n' y a qu'1 ou 2 lignes de html, je préfère utiliser la fonction echo

Re: Couper une longue liste en plusieurs colonnes

par schim59 » 15 nov. 2012, 15:04

Bjr,

Pour produire du HTML je connais que ça.
Tu as une idée derrière la tête ?

Re: Couper une longue liste en plusieurs colonnes

par Methodz » 15 nov. 2012, 14:54

Merci, j'en profite pour une petite question :
echo('<ul style="list-style-type:none; margin:0; padding:0;">');
Le echo est-il nécessaire ? C'est pas par flemme de le mettre que je demande, mais juste pour comprendre s'il a une réelle utilité

Re: Couper une longue liste en plusieurs colonnes

par schim59 » 15 nov. 2012, 13:31

EDIT : doublon avec dix2 :)

Re: Couper une longue liste en plusieurs colonnes

par dix2 » 15 nov. 2012, 13:27

salut,
<?php
$queryM = "SELECT * FROM marques INNER JOIN modeles ON rid_marque = id_marque INNER JOIN vehicules ON rid_modele = id_modele AND publication = '1' AND marchand = '0' AND photo = '1' AND prix != '0' GROUP BY id_marque ORDER BY marque";
$execM = mysql_query($queryM);
$i = 0;
ob_start();
echo('<ul style="list-style-type:none; margin:0; padding:0;">');
while( $rowM = mysql_fetch_array($execM) ){
    echo('<li style="margin-bottom:6px; margin-right:10px;"><a href="/voitures-occasion-'.strtolower($rowM['marque']).','.stripslashes($rowM['id_marque']).'.html">'.$rowM['marque'].'</a></li>');
    $i++;
    if( $i % 10 == 0 ) {
        echo('</ul>');
        ob_flush();
        echo('<ul style="list-style-type:none; margin:0; padding:0;">');
    }
}
($i % 10 == 0) ? ob_clean() : echo('</ul>');
ob_end_flush();
après, il faut mettre les ul en float:left sauf le dernier

@+
dix2

Re: Couper une longue liste en plusieurs colonnes

par Methodz » 15 nov. 2012, 13:11

Ok merci je ne connaissais pas l'astuce,
j'ai donc créé deux listes avec deux requêtes, une qui prend les résultats 1 à 10, et l'autre 11 à 20.
Merci encore, bonne journée !

Rom.

Re: Couper une longue liste en plusieurs colonnes

par frf2 » 15 nov. 2012, 12:32

Bonjour,

En ajoutant un LIMIT(0,9) a la fin de te requête sa te convient pas?
$queryM = "SELECT * FROM marques INNER JOIN modeles ON rid_marque = id_marque INNER JOIN vehicules ON rid_modele = id_modele AND publication = '1' AND marchand = '0' AND photo = '1' AND prix != '0' GROUP BY id_marque ORDER BY marque LIMIT 0,10 ";

Couper une longue liste en plusieurs colonnes

par Methodz » 15 nov. 2012, 12:22

Bonjour à tous,

Je créé sur mon site une liste banale de la manière suivante :

<ul style="list-style-type:none; margin:0; padding:0;">
<?$queryM = "SELECT * FROM marques INNER JOIN modeles ON rid_marque = id_marque INNER JOIN vehicules ON rid_modele = id_modele AND publication = '1' AND marchand = '0' AND photo = '1' AND prix != '0' GROUP BY id_marque ORDER BY marque";
$execM = mysql_query($queryM);
while($rowM = mysql_fetch_array($execM)){?>
<li style="margin-bottom:6px; margin-right:10px;"><a href="/voitures-occasion-<?=strtolower($rowM['marque'])?>,<?=stripslashes($rowM['id_marque'])?>.html"><?=$rowM['marque'];?></a></li>
<? } ?>
</ul>
Sauf que ma base de donnée comporte 20 marques, donc ça donne une liste qui prend beaucoup de place verticalement.
J'aimerais couper cette liste en deux et l'afficher sur 2 colonnes (10 marques par colonne).
Mais je ne trouve pas de solution...

Merci par avance pour vos pistes.

Rom.