Eléphanteau du PHP |
25 Messages
02 mars 2013, 10:10
Salut,
Je ne sais vraiment pas si j'ai tout saisi à cette explication mais en gros, tu souhaites afficher des données sur deux colonnes.
J'ai l'impression si c'est le cas que tu passes par des chemins impossibles pour une fonction relativement basique.
Pour être franc et pour simplifier le tout j'aurais vu les choses autrement qu'avec une table.
Tu peux créer une balise <ul> de 680px (par exemple) et donc y intégrer des <li> de 340px en float left avec un clear both en fin de liste (de la boule for).
Le plus simple dans cette version et si tu fais appel à ta base de données pour afficher ce champs est de tout revoir à partir de ta sortie de données.
Exemple au hasard car je n'ai pas beaucoup d'éléments :
<?php
// Fonction de chargement des données
function loadTypeChauffage(){
$data=array();
// En supposant une base de données $db ou équivalent
$r=$db->query('SELECT type_chauffage FROM XXX');
// Boucle des champs type_chauffage
foreach($r as $done){
$data[]=$done; // Intègre les données dans une table
}
$r->closeCursor(); // Stoppe la boucle
// Retour de la table
return $data;
}
?>
<ul id="maListe">
<?php
// Appel de la fonction donc des données dans la variable $list
$list=loadTypeChauffage();
// Nouvelle boucle pour l'affichage
foreach($list as $typeChauffage){
// Affichage du champs si celui-ci n'est pas vide
if(!empty($typeChauffage[0])){
?>
<li><?php echo htmlspecialchars($typeChauffage[0]); ?></li>
<?php
}
}
?>
<div class="clear"></div>
</ul>
Exemple de css correspondant :
#maListe { width:680px; margin:0; padding:0; list-style:none; }
#maListe li { float:left; width:340px; height:40px; }
#maListe .clear { clear:both; }
Ce n'est qu'un exemple vite fait, à toi de voir ce que tu peux en faire si ce n'est pas hors sujet.
Bonne journée