Affichage dynamique d'un tableau en PHP

Résolu
Issatien Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Issatien Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'aimerais afficher un tableau dynamique en php 2 lignes par 2 colonnes pour l'affichage d'articles récupérés à partir d'une base de données MySQL Pour chaque ligne je veux afficher 2 articles . le problème c'est que mon bout de code m'affiche chaque article sur une ligne
Veuillez m'aider svp :

$result = mysql_query("
                      SELECT * 
                      FROM article 
                      ORDER BY id_article 
                      ASC $limit_str");
					  echo'<table border="0" cellpadding="0" cellspacing="0">
									';
while ($row =mysql_fetch_array ($result) )
{
	                 $id=$row["id_article"];
					 $nom=$row["nom_article"];
					 $desc=$row["description_article"];
					 $prix=$row["prix_article"];
					 $chemin=$row["chemin_image"];
					
					
										echo' <tr>  <td width="86" align="center"><a href="#"><img src="'.$chemin.'" width="79" height="66" border="0" alt=""></a></td>
										<td width="120">
											<div class="item_name">'.$nom.'</div>
											<div class="item_desc">'.$desc.'</div>
											<div class="item_price"><span class="top11">price:</span> $'.$prix.'</div>
											<div style="padding-bottom: 5px"><a href="info_article.php?id='.$id.'"><img src="images/but_info.gif" width="53" height="23" border="0" alt=""></a><a href="achat_article.php?id='.$id.'"><img src="images/but_buy.gif" width="55" height="23" border="0" alt=""></a></div>
										</td>  </tr>'; 
									

}

echo'
								</table>';

A voir également:

8 réponses

Popoï_ Messages postés 171 Date d'inscription   Statut Membre Dernière intervention   76
 
Si tu veux un article par ligne, ce code est bon... tu mets tout ton article dans un seul <tr>, donc un article est affiché sur une seule ligne
1
skymax406 Messages postés 218 Date d'inscription   Statut Membre Dernière intervention   24
 
Popoï_ a réson voit si le problème ne vien pas juste de ta résolution d'écran, fait un teste reduit la taille de la page internet dans ton navigateur .
1
Issatien Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   2
 
Popoï_ Je pense que tu n'a pas bien saisi ce que j'ai dit en faite je veux afficher 2 articles par ligne le problème c'est que je n'arrive pas à le faire dans ma boucle While
1
Popoï_ Messages postés 171 Date d'inscription   Statut Membre Dernière intervention   76
 
Et si tu as un résultat impair?
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Popoï_ Messages postés 171 Date d'inscription   Statut Membre Dernière intervention   76
 
Je veux dire un nombre de résultats impair...
1
Popoï_ Messages postés 171 Date d'inscription   Statut Membre Dernière intervention   76
 
Je dirais que tu devrais utiliser la fonction mysql_numrows() pour avoir le nombre de résultats trouvés, ensuite tu fais le modulo 2 du nombre de résultat pour savoir si c'est pair ou impair... en fonction de si c'est pair ou impair, tu fais une boucle différente. Si c'est pair, dans ta boucle tu incrémentes une variable qui représentera le numéro de l'article que tu affiches, et avant d'utiliser la fonction echo tout de suite pour écrire les résultats, tu vérifies à chaque fois la valeur de la variable, si elle est pair ou impair, pour imprimer deux choses différentes: soit tu imprimes avec un "<tr>" au début du echo, soit tu imprimes un "</tr>" à la fin... Si c'est impair, tu fais la même chose, mais si c'est le dernier article à écrire (si la variable est égale au nombre d'articles trouvés), tu fais une présentation spéciale pour le dernier article...
1
Popoï_ Messages postés 171 Date d'inscription   Statut Membre Dernière intervention   76
 
Est-ce que je suis à peu près compréhensible? ^^'
1
Issatien Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   2
 
j'ai résolu le problème merci à vous tous et surtout Popoï_
1