Boucle en php avec les <TR> et <TD>
Résolu/Fermé
Gregg78
Messages postés
55
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
16 mars 2022
-
24 août 2009 à 17:21
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 25 août 2009 à 09:07
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 25 août 2009 à 09:07
A voir également:
- Tr td php
- Easy php - Télécharger - Divers Web & Internet
- Objet tr ✓ - Forum iPhone
- \R php ✓ - Forum PHP
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Tr mail - Forum Mail
7 réponses
Utilisateur anonyme
24 août 2009 à 19:01
24 août 2009 à 19:01
<table>
<?php
$retour = mysql_query('SELECT * FROM albums_fr ORDER BY id');
$i = '0';
while ($donnees = @mysql_fetch_array($retour)) {
if ( $i == '0' ) { echo '<tr>'; }
echo '<td><img src="photos/'.$donnees['photo'].'" alt="" /></td>';
$i++;
if ( $i == '4' ) {
echo '</tr>';
$i = '0';
}
}
if ( $i != '0') { echo '</tr>'; }
?>
</table>
<?php
$retour = mysql_query('SELECT * FROM albums_fr ORDER BY id');
$i = '0';
while ($donnees = @mysql_fetch_array($retour)) {
if ( $i == '0' ) { echo '<tr>'; }
echo '<td><img src="photos/'.$donnees['photo'].'" alt="" /></td>';
$i++;
if ( $i == '4' ) {
echo '</tr>';
$i = '0';
}
}
if ( $i != '0') { echo '</tr>'; }
?>
</table>
Utilisateur anonyme
24 août 2009 à 17:24
24 août 2009 à 17:24
Et si tu supprimais ton tableau pour passer aux DIV avec CSS ??
Tu n'aurais pas ce problème...
Tu n'aurais pas ce problème...
Gregg78
Messages postés
55
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
16 mars 2022
4
24 août 2009 à 17:36
24 août 2009 à 17:36
:-) en effet j'y ai bien pensé mais là je dois utilisé un tableau !
Sinon je suis d'accord qu'avec un float:left cela aurait résolu pas mal de choses assez vite... mais merci pour le conseil !
Sinon je suis d'accord qu'avec un float:left cela aurait résolu pas mal de choses assez vite... mais merci pour le conseil !
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
24 août 2009 à 17:42
24 août 2009 à 17:42
Pour garder ton tableau tu peux faire :
<table>
<?php
$retour = mysql_query('SELECT * FROM albums_fr ORDER BY id');
$i = 0;
while ($donnees = @mysql_fetch_array($retour))
{
?>
if ( $i == 0 ) {
echo '<tr>';
} elseif ( $i%4 == 0 and $i != 0) {
echo '</tr><tr>';
}
<td><img src="photos/<?php echo $donnees['photo']; ?>"></td>
<?php
}
?>
</tr>
</table>
<table>
<?php
$retour = mysql_query('SELECT * FROM albums_fr ORDER BY id');
$i = 0;
while ($donnees = @mysql_fetch_array($retour))
{
?>
if ( $i == 0 ) {
echo '<tr>';
} elseif ( $i%4 == 0 and $i != 0) {
echo '</tr><tr>';
}
<td><img src="photos/<?php echo $donnees['photo']; ?>"></td>
<?php
}
?>
</tr>
</table>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Gregg78
Messages postés
55
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
16 mars 2022
4
24 août 2009 à 18:18
24 août 2009 à 18:18
Merci pour ce début mais cela ne marche pas !
J'ai rajouté un ++$i; et cela me donne bien une ligne mais sans passage à la ligne au bout des 4 photos...
J'ai rajouté un ++$i; et cela me donne bien une ligne mais sans passage à la ligne au bout des 4 photos...
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
24 août 2009 à 19:03
24 août 2009 à 19:03
et en passant par un array:
<?php $retour = mysql_query('SELECT * FROM albums_fr ORDER BY id'); $array_photos=array(); $ligne=0; $i=0; while ($donnees = @mysql_fetch_array($retour)) { //on va empiler les photos dans un array a deux dimensions les lignes en dim1 avec les 4 photos en dim 2 $array_photos[$ligne][$i]=$donnees['photo']; $i++; if($i==4){ ///arrivé à 4 on passe a la ligne suivante et on remet $i à 0 $ligne ++; $i=0; } } ?> <table> <?php //on va genrer le tableau en parcourant les deux dimensions de l'array for ($li=0;$li<sizeof($array_photos);$li++){ //d'abord les lignes en dim1 echo '<tr>'; for($j=0;$j<sizeof($array_photos[$li];$j++){ //puis par ligne les photos en dim2 echo '<td><img src="photos/'.$array_photos[$li][$j].'</td>'; } echo '</tr>'; } ?> </table>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
25 août 2009 à 09:07
25 août 2009 à 09:07
après réflexion un petit complément pour le cas ou moins de 4 photos dans la dernière ligne
<?php $retour = mysql_query('SELECT * FROM albums_fr ORDER BY id'); $array_photos=array(); $ligne=0; $i=0; while ($donnees = @mysql_fetch_array($retour)) { //on va empiler les photos dans un array a deux dimensions les lignes en dim1 avec les 4 photos en dim 2 $array_photos[$ligne][$i]=$donnees['photo']; $i++; if($i==4){ ///arrivé à 4 on passe a la ligne suivante et on remet $i à 0 $ligne ++; $i=0; } } //si on a moins de 4 photos dans la dernière ligne il faut completer pour avoir toujours 4 td if(sizeof($array_photos[$ligne])<4){ while ($i<=4){ $array_photos[$ligne][$i]=' ';//on complete avec un espace } } ?> <table> <?php //on va genrer le tableau en parcourant les deux dimensions de l'array for ($li=0;$li<sizeof($array_photos);$li++){ //d'abord les lignes en dim1 echo '<tr>'; for($j=0;$j<sizeof($array_photos[$li];$j++){ //puis par ligne les photos en dim2 echo '<td><img src="photos/'.$array_photos[$li][$j].'</td>'; } echo '</tr>'; } ?> </table>