Tableau cote à cote puis à la ligne

Résolu/Fermé
boony Messages postés 44 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 25 juillet 2010 - 7 févr. 2008 à 11:50
boony Messages postés 44 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 25 juillet 2010 - 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.
A voir également:

6 réponses

boony Messages postés 44 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 25 juillet 2010 1
7 févr. 2008 à 13:59
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 ;-)
1
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
7 févr. 2008 à 14:01
Impec alors !
Bonne continuation
0
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
7 févr. 2008 à 11:55
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.
0
boony Messages postés 44 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 25 juillet 2010 1
7 févr. 2008 à 12:25
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
0
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
7 févr. 2008 à 12:52
Tu peux ajouter un compteur dans ton while et une condition sur le modulo 4 du compteur.
0
boony Messages postés 44 Date d'inscription jeudi 7 février 2008 Statut Membre Dernière intervention 25 juillet 2010 1
7 févr. 2008 à 13:08
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
0
Darkito Messages postés 1191 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 26 mai 2010 545
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.

0

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

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