Mise en page de résultats SQL

Résolu
chris-asjeme Messages postés 780 Date d'inscription   Statut Membre Dernière intervention   -  
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis presque débutant en PHP et je souhaite gérer des images par une base de données SQL. J'ai mis au point mon formulaire d'envoi d'images sur le serveur et dans la base de données mais j'ai un problème pour récupérer mes images.

Je m'explique, je souhaiterai récupérer les images de manière à ce qu'elles soient affichées dans un tableau avec 6 images par ligne, 7 lignes par page, ce qui donne 42 images par page. Après je créerai un système de page automatique...
Mais voilà mon problème c'est que je n'arrive pas à organiser mon tableau. Soit il m'affiche toutes les images d'un coup sur la même ligne, soit il m'en affiche qu'une par ligne...
Comment je peux faire pour afficher mes 6 images par ligne ?
Voici ce que j'ai comme code :

<?php 
// Connexion BDD
$bdd = mysql_connect("localhost", "root", "");
mysql_select_db("tests");
?><table><tr><?php
$retour = mysql_query('SELECT * FROM images WHERE img_cat="imgperso/fixe"');
while ($donnees = mysql_fetch_array($retour)) // Boucle pour lister les images
{
?>


<td><?php echo '<img src="'. $donnees['img_emp'] . '" alt="'. $donnees['img_cat'] .'" />'; ?></td>

<?php
} // Fin de la boucle qui liste les images
mysql_close($bdd);
?></tr>
</table>



Merci d'avance,
Chris
A voir également:

3 réponses

Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Tu dois faire 2 boucles imbriquées. Dans un premier temps tu gère le nombre de lignes(<tr>) puis dans la 2ème tu gère le nombre de colonnes(<td>). Comme tu connais le nombre de lignes et colonnes que tu veux ça devrait aller ;-)
0
chris-asjeme Messages postés 780 Date d'inscription   Statut Membre Dernière intervention   93
 
Merci bien. Ta solution me plait bien. Je sais pas encore comment je vais faire ça (débutant) mais je vais essayé de trouver.
0
Profil bloqué
 
sinon tu utilise du css, tu met ton image dans un div qui est dimensionner par le css en position relative et avec un float (le tout dans une autre div pour pouvoir maintenir une cohérence. ainsi une seul boucle et un truc plus propre qu'un tableau.
0
olimix
 
voila mon code pour afficher 3 images par ligne
il suffit de remplacer $test = $number/3;
par $test = $number/6; pour 6 photos par lignes

meme pas besoin de faire 2 boucles , tu fait juste un compteur et tu sort de la boucle quand ton compteur atteint les 42 .

en esperant que ca puisse t'aider
<table> 
                                <tr> 
                                  <? 
$requete2 = mysql_query("select * from produits where type_produit='" . $statut . "' ORDER BY id_produit DESC") or die(mysql_error()); 
while($donnees2 = mysql_fetch_array($requete2)) 
{ 
?> 
                                  <td><?php echo $donnees2['url_image']; ?></td> 
                                  <? 
$number = $number + 1; 
$test = $number/3; 
if(is_int($test))  
{echo "</tr><tr>";} 
} 
?> 
                                  <td></td> 
                                </tr> 
                                </table> 
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
Tu oublie d'initialiser $number à 0 avant ta boucle. Sinon ça à l'air pas mal. Hormis le fait que tu n'affiche que l'url de l'image (il faudrait mettre une balise img)...
Mais il y a de l'idée...

;-)
0
chris-asjeme Messages postés 780 Date d'inscription   Statut Membre Dernière intervention   93
 
Merci. Après modifications ça marche :)
0
Breub62 Messages postés 2989 Date d'inscription   Statut Membre Dernière intervention   369
 
;-)
0