PHP => table => Passer à la ligne

Fermé
Nunuxnewby Messages postés 432 Date d'inscription jeudi 15 juillet 2004 Statut Contributeur Dernière intervention 5 février 2010 - 16 nov. 2007 à 10:57
Nunuxnewby Messages postés 432 Date d'inscription jeudi 15 juillet 2004 Statut Contributeur Dernière intervention 5 février 2010 - 17 nov. 2007 à 13:40
Bonjour,
Un p'tit coup de main pour PHP serait le bienvenu.

J'ai une base de donnée contenant par exemple des chemins vers les images...
Admettons que j'ai 100 images que je veuilles mettre dans une table avec 5 images par ligne...
Comment je peux dire de passer à la ligne chaque 5 images jusqu'à la fin...

J'ai chercher sur le WEB, mais étant débutant, j'ai un peu de mal à trouver l'information juste ou les mots clés qui me permettraient de trouver des explications correspondant à ce que je veux faire...

Voici un exemple de code que j'utilise, mais là il n'y a qu'une seule image par ligne...


<table>

<?php
include ("common_files/mysql_connect.php");
$sql = mysql_query("SELECT * FROM image");
while($affichage = mysql_fetch_array($sql, MYSQL_ASSOC)){
echo '<tr><td><img src="',$affichage['image'],'"/></td></tr>';}
?>

</table>



Merci d'avance pour vos explications ou liens
A voir également:

4 réponses

Bonjour,

Qqs modifs sur le script de Nem3sis:

<html>
<table>
<?php
$nb_col=5; // modifiable
include ("common_files/mysql_connect.php");
$sql = mysql_query("SELECT * FROM image");
$nb_images=mysql_num_rows($sql);
for ($i=1; $affichage = mysql_fetch_array($sql, MYSQL_ASSOC); $i++) {

	if (($i-1) % $nb_col == 0) echo '<tr>';
	echo '<td><img src="',$affichage['image'],'"/></td>';
	if ($i % $nb_col == 0) echo '</tr>';
}
//generation cellules vides en dernière ligne a remplir avec des espaces pour avoir le même nombre que les lignes au dessus
$nb_vides=$nb_col - ($nb_images % $nb_col);
for($j=1;$j<=$nb_vides;$j++){
	echo "<td>&nbsp;</td>";
	if ($j == $nb_vides) echo '</tr>';
}
?>
</table>
</html>

presque le même mais avec une meilleure gestion des <tr></tr>

1
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
16 nov. 2007 à 11:04
j'ai pas testé mais je pense que ceci devrai fonctionner

<table>
<tr>

<?php
include ("common_files/mysql_connect.php");
$sql = mysql_query("SELECT * FROM image");
for ($i=1; $affichage = mysql_fetch_array($sql, MYSQL_ASSOC); $i++) {
	if ($i % 5 == 0) echo '</tr><tr>';
	echo '<td><img src="',$affichage['image'],'"/></td>';
}
?>
</tr>
</table> 
0
Nunuxnewby Messages postés 432 Date d'inscription jeudi 15 juillet 2004 Statut Contributeur Dernière intervention 5 février 2010 124
16 nov. 2007 à 13:56
Je ne peux pas tester ça dans l'immédiat, mais je te remercie de ta réponse!
0
Nunuxnewby Messages postés 432 Date d'inscription jeudi 15 juillet 2004 Statut Contributeur Dernière intervention 5 février 2010 124
17 nov. 2007 à 13:40
Merc beaucoupi, je vais appliquer ça d'ici peu...
D'après la lecture, l'avantage est un nombre de colonnes définissable facilement via une variable et que le tableau soit complété par des cellules vides si besoin!
je vous tiens au courant du déroulement dès que j'ai eu le temps de faire tout ça!
0