Tableau cote à cote puis à la ligne [Résolu/Fermé]

boony 44 Messages postés jeudi 7 février 2008Date d'inscription 25 juillet 2010 Dernière intervention - 7 févr. 2008 à 11:50 - Dernière réponse : boony 44 Messages postés jeudi 7 février 2008Date d'inscription 25 juillet 2010 Dernière intervention
- 7 févr. 2008 à 14:04
Bonjour tout le monde,


Je vous envoie ce message, car je suis actuellement en stage et j''ai un petit probleme pour afficher comme je voudrais mes tableaux dans ma page php.

Je vous explique, j'ai plusieurs produits (alimantaires) dans ma base de données, et je désire qu'ils s'afficheent automatiquement sur ma page.

Maintenant j'aimerais que ma page se présente avec 4 tableaux l'un à coté de l'autre, puis la même chose mais à la ligne d'en dessous:

tableau1, tableau2, tableau3, tableau4
tableau5, tableau6, tableau7, tableau8
tableau 9 .....

Comme ca ainsi de suite, jusqu'a la fin de ma table.Mais je ne sais pas comment le faire.

Voici mon code :

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
<meta name="Description" content="">
<meta name="Keywords" content="">
<style>
TABLE {
float : left;
}
</style>

<?php

mysql_connect("localhost", "root", "");

mysql_select_db("test");
<?php
}

$info = "SELECT * FROM produits ORDER BY designation_produit ASC "; //asc= ordre alphabétique
$requete = mysql_query($info);
$Nb =mysql_num_rows($requete);

<?php
if($Nb>0)
{
while ($detail =mysql_fetch_array($requete) )
{
$num_produit = $detail['num_produit'];
$designation_produit = $detail['designation_produit'];
$gencod_produit = $detail['gencod_produit']
$masse_produit = $detail['masse_produit'];
$photo_produit = $detail['photo_produit'];


<table border="1">

<tr>
<td align = center ><p><font color="#000000"><b><?php echo $designation_produit ?></b></font> </p></td>
</tr>
<tr>
<td align = center>
<?php ("Content-type:" .$photo_produit);?>
<img src="<?php echo $photo_produit; ?> "width="150" height="110" />
</td>
</tr>
<tr>
<td align = center><p><font color="#000000">Genecode :<?php echo $gencod_produit ?></font> </p></td>
</tr>
<tr>
<td align = center><p>Disponsible en <?php echo $masse_produit ?>g</p></td>
</tr>

</table>


<?php //Fin de la boucle

}
}
mysql_close();
?>

</form>
</body>
</html>


Je vous remercie d'avance pour votre aide.
Afficher la suite 
44Messages postés jeudi 7 février 2008Date d'inscription 25 juillet 2010 Dernière intervention

10 réponses

boony 44 Messages postés jeudi 7 février 2008Date d'inscription 25 juillet 2010 Dernière intervention - 7 févr. 2008 à 13:59
+1
Utile
1
C'est bon j'ai trouvé la solution grace à ton aide!

en gros le script exacte c'était ça pour la fin :

<?php

if(($compteur % 4)== 0)
{

echo "<div class=Clear></div>";

}
$compteur++;
?>

Je te remercie pour ton aide Darkito ;-)
Cette réponse vous a-t-elle aidé ?  
Darkito 1196 Messages postés vendredi 7 décembre 2007Date d'inscription 26 mai 2010 Dernière intervention - 7 févr. 2008 à 14:01
Impec alors !
Bonne continuation
Darkito 1196 Messages postés vendredi 7 décembre 2007Date d'inscription 26 mai 2010 Dernière intervention - 7 févr. 2008 à 11:55
0
Utile
Bonjour,
Une solution est de créer une class qui te permets de revenir à la ligne
.Clear {
clear:both
}


et tu insères
<div class="Clear"></div>
tous les 4 tableaux.
boony 44 Messages postés jeudi 7 février 2008Date d'inscription 25 juillet 2010 Dernière intervention - 7 févr. 2008 à 12:25
0
Utile
1
merci d'avoir repondu aussi vite mais le probleme comme tu vois dans mon code, c'est que je ne precise pas les 4 tableau, le tableau n'apparait qu'une seule fois dans mon code donc je ne peux pas le mettre tout les 4 tableaux
Darkito 1196 Messages postés vendredi 7 décembre 2007Date d'inscription 26 mai 2010 Dernière intervention - 7 févr. 2008 à 12:52
Tu peux ajouter un compteur dans ton while et une condition sur le modulo 4 du compteur.
boony 44 Messages postés jeudi 7 février 2008Date d'inscription 25 juillet 2010 Dernière intervention - 7 févr. 2008 à 13:08
0
Utile
1
euh... desolé mais je suis débutante en la matiere, je ne comprend pas trop ce que tu as écrit, pourrais tu mieu m'expliquer et me dire ou le mettre et comment le faire dans mon code s'il te plait. je te remercie
Darkito 1196 Messages postés vendredi 7 décembre 2007Date d'inscription 26 mai 2010 Dernière intervention - 7 févr. 2008 à 13:18
Tu crées un variable qui va compter le nombre de tableau que tu initialises avant le début du while.
A chaque de tour de bouvle, tu l'incrémentes.
Si c'ets un multiple de 4 (N modulo 4 = 0) alors tu insères la dic clear à la fin.

$compteur =1
while ($detail =mysql_fetch_array($requete) )
{
$num_produit = $detail['num_produit'];
$designation_produit = $detail['designation_produit'];
$gencod_produit = $detail['gencod_produit']
$masse_produit = $detail['masse_produit'];
$photo_produit = $detail['photo_produit'];

<table border="1">
<tr>
<td align = center ><p><font color="#000000"><b><?php echo $designation_produit ?></b></font> </p></td>
</tr>
<tr>
<td align = center>
<?php ("Content-type:" .$photo_produit);?>
<img src="<?php echo $photo_produit; ?> "width="150" height="110" />
</td>
</tr>
<tr>
<td align = center><p><font color="#000000">Genecode :<?php echo $gencod_produit ?></font> </p></td>
</tr>
<tr>
<td align = center><p>Disponsible en <?php echo $masse_produit ?>g</p></td>
</tr>
</table> 

if(($compteur % 4)= 0) {  <div class="Clear"></div> }
$compteur++

 }


Ca doit être un code de style la, peut être que la syntaxe n'est pas bonne, c'ets à vérifier.

boony 44 Messages postés jeudi 7 février 2008Date d'inscription 25 juillet 2010 Dernière intervention - 7 févr. 2008 à 13:39
0
Utile
1
non , là plus rien ne s'affiche et il y a un message d'erreur dans mon while.
Darkito 1196 Messages postés vendredi 7 décembre 2007Date d'inscription 26 mai 2010 Dernière intervention - 7 févr. 2008 à 13:59
Il faut que vérifie la syntaxe, j'ai juste donné "l'idée"
boony 44 Messages postés jeudi 7 février 2008Date d'inscription 25 juillet 2010 Dernière intervention - 7 févr. 2008 à 14:04
0
Utile
Merci, si j'ai d'autre problème je te recontacte lol ;-)