Mise en page éléments BDD

Résolu/Fermé
Tink - 4 janv. 2016 à 17:43
 Tink - 4 janv. 2016 à 21:03
Bonjour,

J'enregistre les articles de mon site dans une BDD. Jusqu'à présent, je les affichais sous la forme d'un tableau simple :
<table>
<tr>
<td><img src="" /></td>
<td>texte de l'article</td>
</tr>
</table>

Avec la bonne requête et le bon code, mes articles étaient affichés l'un sous l'autre. Tout allait bien.

Aujourd'hui, je souhaiterais les afficher sous forme de grille (2 lignes, 3 vignettes par ligne), comme sur le wordpress suivant : http://wpexplorer-demos.com/pronto/
Plus concrètement, j'aimerais que le dernier article publié s'affiche dans la vignette en haut à gauche, l'avant-dernier dans la suivante...

Je n'arrive pas à envisager de quelle manière ça pourrait se faire sans que je décale tout manuellement à chaque nouvel article.

J'espère avoir été assez claire dans ma demande...
Merci d'avance à ceux qui pourront m'aider ! :)


A voir également:

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
4 janv. 2016 à 17:53
Bonjour,

Pour afficher le dernier en premier .. etc.... il te suffit de jouer avec un ORDER BY DESC (je te laisse chercher sur le net)

0
Merci oui, j'utilise ce système avec mon actuelle mise en page. :)
Mon problème ne se situe pas au niveau de l'ordre de mes articles mais concernant leur affichage global. Je cherche un moyen de systématiser l'affichage : au fur et à mesure des publications, un article passera en 1ère colonne de la 1ère ligne, puis 2e et 3e colonne avant de passer en 1ère colonne de la 2e ligne...
Quelqu'un a une idée ?
Merci en tout cas jordane45 :)
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
4 janv. 2016 à 20:44
Je vais essayer de reformuler autrement car là .. ça ne me semble pas clair ....
Tu veux, simplement, afficher 3 "vignettes" par ligne ?

- pour ce qui est de la "vignette" en elle même... il peut s'agir d'une simple div contenant ton tableau par exemple

- Pour ensuite passer à la ligne après 3 vignettes... il te suffit d'utiliser un modulo 3 et une variable que tu incrémentes au fur et à mesure que tu affiches tes articles dans ta boucle.

Par exemple :
$cpt = 1; 
$nbVignetteparLigne = 3; //compteur servant à calculer le nb de vignettes par ligne

//boucle pour simuler tes articles...
for($i=0;$i<=12;$i++){
 $modulo = $cpt%$nbVignetteparLigne;
 echo "<div id='article_$i' style='min-height:200px;width:200px;margin:10px;padding:12px;border: 5px solid red;display:inline-block'>
         Article Numéro : $i 
	 <br>$modulo
       </div>";
 
   if(!$modulo){
    echo "<br>";
   }
  $cpt++;

}
0
Merci pour ton aide jordane45, c'est une piste dans ce style que je cherchais ;)
0