Resultat boucle php +html sur deux colonnes?
Fermé
gégé
-
21 févr. 2010 à 18:58
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 - 21 févr. 2010 à 19:32
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 - 21 févr. 2010 à 19:32
A voir également:
- Resultat boucle php +html sur deux colonnes?
- Faire deux colonnes sur word - Guide
- Inverser deux colonnes excel - Guide
- Fusionner deux colonnes excel - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Editeur html - Télécharger - HTML
2 réponses
j' ai utilisé ce bout de code qui normalement doit fonctionner, cependant je me retrouve encore avec mes resultats les uns en dessous des autres:
<?php
$nbCols = 2; // nombre de colonnes du tableau
$cpt = 0; // compteur d'éléments
?>
<table width="830" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th width="405" height="30" align="center" valign="middle" style="width:<?php echo round(100/$nbCols);?>%;"></th>
<th width="18" align="center" valign="middle" style="width:<?php echo round(100/$nbCols);?>%;"></th>
<th width="405" align="center" valign="middle" style="width:<?php echo round(100/$nbCols);?>%;"></th>
</tr>
<?php
$rs = mysql_query('SELECT * FROM articles'); // exécution de la requête
// Nota : on pourrait tout aussi bien parcourir les éléments d'un tableau ou les fichiers d'un dossier
while ($row=mysql_fetch_assoc($rs)) { // parcours des résultats
// début d'une ligne
if ($cpt%$nbCols==0) // on divise le nb d'élément par le nb de colonnes. Si le reste est de 0 ...
echo '<tr>'; // ..., alors on est sur le premier élément d'une ligne
// On place chaque élément dans une cellule du tableau
echo '<table width="405" height="110" border="0" cellpadding="0" cellspacing="0" background="images/main/last_article.png">
<tr>
<td width="113" rowspan="3" align="center" valign="middle"><img src="images/articles/miniatures/';
echo $row['photo1'];
echo '" height="100 "alt="" /></td>
<td height="18" colspan="2" align="left" valign="top"><span class="Style2">';
echo $row['nom'];
echo '</span></td>
</tr>
<tr>
<td height="54" colspan="2" align="right" valign="middle"><table width="292" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="148" align="left" valign="top">';
echo $row['courte_desc'];
echo '</td>
<td width="11" align="left" valign="top"> </td>
<td width="133" align="right"><img src="images/remises/';
echo $row['remise'];
echo'" width="100" height="45" /><img src="images/main/blank20.png" width="20" height="1" /></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="132" align="left" valign="top"><img src="images/articles/marques/';
echo $row['marque'];
echo '" width="54" height="26" /></td>
<td width="160" height="33" align="right" valign="top"><a href="article.php?=';
echo $row['id'];
echo '"><img src="images/main/plusdinfo.png" width="100" height="20" border="0" /></a><img src="images/main/blank20.png" width="20" height="1" /></td>
</tr>
</table>';
// fin d'une ligne
if ($cpt%$nbCols==($nbCols-1)) // on divise le nb d'élément par le nb de colonnes. Si le reste est de ($nbCols-1) ...
echo '</tr>'; // ..., on est sur le dernier élément d'une ligne
$cpt++; // on incrémente le compteur pour savoir où on en est
}
// Au cas où ...
if ($cpt!=0 && $cpt%$nbCols!=0) { // S'il n'y a pas eu assez de cellules dans la boucle pour finir la ligne ...
echo '<td colspan="'.($nbCols - ($cpt%$nbCols) ).'"> </td>'; // ... on complète avec une cellule vide de la bonne taille...
echo '</tr>'; // ... et on ferme la ligne
}
?>
<?php
$nbCols = 2; // nombre de colonnes du tableau
$cpt = 0; // compteur d'éléments
?>
<table width="830" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<th width="405" height="30" align="center" valign="middle" style="width:<?php echo round(100/$nbCols);?>%;"></th>
<th width="18" align="center" valign="middle" style="width:<?php echo round(100/$nbCols);?>%;"></th>
<th width="405" align="center" valign="middle" style="width:<?php echo round(100/$nbCols);?>%;"></th>
</tr>
<?php
$rs = mysql_query('SELECT * FROM articles'); // exécution de la requête
// Nota : on pourrait tout aussi bien parcourir les éléments d'un tableau ou les fichiers d'un dossier
while ($row=mysql_fetch_assoc($rs)) { // parcours des résultats
// début d'une ligne
if ($cpt%$nbCols==0) // on divise le nb d'élément par le nb de colonnes. Si le reste est de 0 ...
echo '<tr>'; // ..., alors on est sur le premier élément d'une ligne
// On place chaque élément dans une cellule du tableau
echo '<table width="405" height="110" border="0" cellpadding="0" cellspacing="0" background="images/main/last_article.png">
<tr>
<td width="113" rowspan="3" align="center" valign="middle"><img src="images/articles/miniatures/';
echo $row['photo1'];
echo '" height="100 "alt="" /></td>
<td height="18" colspan="2" align="left" valign="top"><span class="Style2">';
echo $row['nom'];
echo '</span></td>
</tr>
<tr>
<td height="54" colspan="2" align="right" valign="middle"><table width="292" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="148" align="left" valign="top">';
echo $row['courte_desc'];
echo '</td>
<td width="11" align="left" valign="top"> </td>
<td width="133" align="right"><img src="images/remises/';
echo $row['remise'];
echo'" width="100" height="45" /><img src="images/main/blank20.png" width="20" height="1" /></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="132" align="left" valign="top"><img src="images/articles/marques/';
echo $row['marque'];
echo '" width="54" height="26" /></td>
<td width="160" height="33" align="right" valign="top"><a href="article.php?=';
echo $row['id'];
echo '"><img src="images/main/plusdinfo.png" width="100" height="20" border="0" /></a><img src="images/main/blank20.png" width="20" height="1" /></td>
</tr>
</table>';
// fin d'une ligne
if ($cpt%$nbCols==($nbCols-1)) // on divise le nb d'élément par le nb de colonnes. Si le reste est de ($nbCols-1) ...
echo '</tr>'; // ..., on est sur le dernier élément d'une ligne
$cpt++; // on incrémente le compteur pour savoir où on en est
}
// Au cas où ...
if ($cpt!=0 && $cpt%$nbCols!=0) { // S'il n'y a pas eu assez de cellules dans la boucle pour finir la ligne ...
echo '<td colspan="'.($nbCols - ($cpt%$nbCols) ).'"> </td>'; // ... on complète avec une cellule vide de la bonne taille...
echo '</tr>'; // ... et on ferme la ligne
}
?>
graffx
Messages postés
6506
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 975
21 févr. 2010 à 19:32
21 févr. 2010 à 19:32
Oui c' est bizarre, je ne vois pas comme ca, desolé va falloir attendre la reponse d' un meilleur que moi :)
Avion-f16 à la rescousse ^^
Avion-f16 à la rescousse ^^