8768 sujets

Développement web côté serveur, CMS

Bonjour à tous et à toutes,

Je cherche une solution qui me permettrais d'afficher un code php sous forme de tableau,
j'explique mon soucis :

je suis actuellement sur la création d'un site d'exposition d'art, et j'aimerais travailler le design de ma page d'accueil.

j'ai ajouté à ma page d'accueil un système permettant de voir les 6 dernières œuvres posté par les membres, mais les images s'affichent n'importe comment et le titre qui les suis ne sont pas calé correctement avec les images qui correspondes.

Précédemment pour corrigé cela, j'utilisais des <div> au quel j'y donnais des attribues pour les alignées les unes aux autres, mais cela demande pas mal de temps, et je pense y gagné avec le système de table mais je ne vois pas comment organisé mon code actuelle.

le voici :

<aside>
<h3 class="what1noir">les 6 dernières œuvres</h3>
<?php

$req=$bdd->prepare('SELECT oeuvre_id, image_oeuvre, titre_oeuvre FROM oeuvre_artiste ORDER BY oeuvre_id DESC LIMIT 0,6');
$req->execute();
while ($data1=$req->fetch()) {
echo '<div id="ficheartistegal"><a href="./galerieart.php?o='.stripslashes(htmlspecialchars($data1['oeuvre_id'])).'&amp;selection=oeuvre"><figure><img src="./images/oeuvres/'.$data1['image_oeuvre'].'" class="imgavatargal" alt="oeuvre"/><figcaption><p class="boutonlien">'.htmlspecialchars($data1['titre_oeuvre']).'</p></figcaption></figure></a></div>';
}
 $req->closeCursor();

?>
 </aside>


étant donné que c'est une boucle, je ne vois pas comment créer 3 lignes et 2 colonnes Smiley ohwell .

j'ai tenté :

echo '<table>
<tr><td>'."mes infos".'</td></tr>
</table>'; 
mais comme je m'y attendais, les images s'affichent les unes en dessous des autres ..



Merci à tous pour votre attention et votre aide.
Bonjour,
Faire ce que tu veux faire avec des tableaux, c'est "sale"... Le mieux est quand même de passer par du style plutôt que des tableaux, qui à l'origine ne sont pas destinés à cela.
Mais si tu veux vraiment persister dans cette voie, il faut que tu initialises un compteur, que tu incrémentes à chaque fois que tu écris les données d'une oeuvre. Ensuite, à chaque fois que tu t'apprêtes à écrire une nouvelle oeuvre, tu fais un test "si le résultat de mon compteur modulo 3 vaut 0, alors on crée une nouvelle ligne".

Grosso modo, ça doit ressembler à un truc de ce genre (pas sûr à 100%, je fais ça de tête et ça fait un moment que j'ai pas fait de PHP, c'est juste pour que tu voies l'algo):
$cpt = 0;
echo "<table><tr>";
while ($data1=$req->fetch()) {
    echo "<td>les infos de ton oeuvre numéro ".$i."</td>";
    if($cpt%2==0){
        echo "</tr><tr>";
    }
    $cpt++;
}
echo "</tr></table>";

Modifié par GroquikMLV (27 Mar 2014 - 18:34)
Salut à toi et merci pour ton attention =),

"Faire ce que tu veux faire avec des tableaux, c'est "sale"... Le mieux est quand même de passer par du style plutôt que des tableaux, qui à l'origine ne sont pas destinés à cela."

arf, n'ayant que comme apprentissage des tutos par ci par là pioché sur internet les bons conseilles ne sont pas fourni avec xD,

Je vais donc écouté le tiens en passant par le css, plutôt que d'essayer des constructions peu recommandable ^^'.

Merci pour ta réponse sincère =).