CommentCaMarche
Recherche
Posez votre question Signaler

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

boony 44Messages postés jeudi 7 février 2008Date d'inscription 25 juillet 2010Dernière intervention - Dernière réponse le 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.
Lire la suite 
Réponse
+1
moins plus
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 ;-)
Darkito 1200Messages postés vendredi 7 décembre 2007Date d'inscription 26 mai 2010Dernière intervention - 7 févr. 2008 à 14:01
Impec alors !
Bonne continuation
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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 1200Messages postés vendredi 7 décembre 2007Date d'inscription 26 mai 2010Derniè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.
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
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 1200Messages postés vendredi 7 décembre 2007Date d'inscription 26 mai 2010Derniè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.

Répondre
Ajouter un commentaire
Réponse
+0
moins plus
non , là plus rien ne s'affiche et il y a un message d'erreur dans mon while.
Darkito 1200Messages postés vendredi 7 décembre 2007Date d'inscription 26 mai 2010Dernière intervention - 7 févr. 2008 à 13:59
Il faut que vérifie la syntaxe, j'ai juste donné "l'idée"
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Merci, si j'ai d'autre problème je te recontacte lol ;-)
Ajouter un commentaire
Ce document intitulé «  tableau cote à cote puis à la ligne  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.