Accueil > Forum > > > > intervalle et rendu html
intervalle et rendu html
vendredi 11 novembre 2011 à 22:40:08 |
intervalle et rendu html

eltyty
|
bonjour,
je trouve beaucoup de tuto pour expliquer les intervalles mais personne ne montre comment faire le rendu ce qui me pose aujourd'hui des problèmes.
j'ai une table :
id parent_id lft rght name
je souhaiterai faire une rendu dans une table avec un décalage pour les enfants
ex :
dev
--php
----exemples
----tuto
maison
--liens
--articles
----tuto
j'obtiens bien l'ensembles des resultats dans un array mais comment mettre en forme avec des foreach je suppose ?
merci d'avance.
|
|
lundi 14 novembre 2011 à 12:49:55 |
Re : intervalle et rendu html

JulSoft
|
Tiens... Je viens de faire un truc du genre...
Tu peux utiliser des listes <ul><li> etc... qui marchent bien.
Sinon, j'ai fait un truc avec des div et du css qui marche pas mal (bien que ça soit techniquement moins propre que les listes) en insérant une marge dans les divs enfants...
|
|
lundi 14 novembre 2011 à 13:45:41 |
Re : intervalle et rendu html

eltyty
|
oui j'ai vu qu'il y en a qui essaie avec du css, mais je trouve que cela complique, perso j'aimerai incrémenter les enfants par des --
ce qui donnerai
rub
--enfant 1
----enfant de enfant 1
--enfant 2
Si t'as un exemple de code qui donnerai ce genre d'effet.
Merci
|
|
lundi 14 novembre 2011 à 14:55:07 |
Re : intervalle et rendu html

JulSoft
|
tu peux ruser avec ton css et utiliser un background qui contient tes -. C'est ce que j'ai fait pour représenter une arborescence. Je te refile un bour de code des que j'ai le temps de le dépoluer...
|
|
mardi 15 novembre 2011 à 16:43:57 |
Re : intervalle et rendu html

eltyty
|
Lut,
en ajoutant la notion de level, j'ai réussi à faire quelque chose de potable sans tableau avec des ul, mais le but est de pouvoir incrémenter par des -- et non des ul car dans un tableau la mise en forme saute automatiquement.
Voici déjà ce que j'ai fait :
Code PHP :
<?php foreach($categories as $k=>$v): ?>
<tr>
<td>
<?php
if ($levelPrevious < $v['Category']['level']) {
echo str_repeat('<ul>', $v['Category']['level'] - $levelPrevious);
$prevpass = $levelPrevious;
$levelPrevious=$v['Category']['level'];
echo '--'.$v['Category']['name'].' ('.$prevpass.' < '.$levelPrevious.')<br />';
}
elseif($levelPrevious > $v['Category']['level']){
$r .= str_repeat('</ul>', ++$levelPrevious - $v['Category']['level']);
$prevpass = $levelPrevious;
$levelPrevious=$v['Category']['level'];
echo '--'.$v['Category']['name'].' ('.$prevpass.' > '.$levelPrevious.')<br />';
}
else{
$prevpass = $levelPrevious;
echo '--'.$v['Category']['name'].' ('.$prevpass.' < / > '.$levelPrevious.')<br />';
$levelPrevious=$v['Category']['level'];
}
<?php endforeach; ?>
?>
Je dois mettre ces résultats dans un tableau où il y aura une colonne nom, online et actions (supp,modif)
Si tu arrives à mettre un css particulier peut être que j'ai moyen de m'en servir donc j'attends ;-)
Par contre mon but serait de ne pas me servir des level sauf si vraiment obligatoire ;-)
Merci
|
|
samedi 19 novembre 2011 à 12:44:19 |
Re : intervalle et rendu html

camillagaiaschicherie
|
bonjour
je ne sais pas si c est cela mais bon :
<style type="text/css">
ul {
margin:0;
padding:0;
}
li {
list-style:disc;
margin-left:20px;
}
li a {
float:right;
padding:0 5px;
}
</style>
Code PHP : <?php
$sql="SELECT * FROM table";
$res=mysql_query($sql);
while($data=mysql_fetch_array($res)){
$rec[]=$data;
}
function generate_tree_list($arr, $parent = 0){
$has_children = false;
foreach($arr as $key => $value){
if ($value['parent_id'] == $parent){
if ($has_children == false){
$has_children = true;
echo '<ul>';
}
echo '<li>' . $value['name'];
echo '<a href="#">Delete</a>';
echo '<a href="#">Edit</a>';
echo '<a href="#">On/Off</a>';
unset($arr[$key]);
generate_tree_list($arr, $value['id']);
echo '</li>';
}
}
if ($has_children === true) echo '</ul>';
}
function generate_tree_table($arr, $parent = 0,$level = 0){
$has_children = false;
foreach($arr as $key => $value){
if ($value['parent_id'] == $parent){
if ($has_children == false){
$has_children = true;
$level++;
}
echo '<tr>';
echo '<td style="padding-left:'.(20*($level)).'px;">'. $value['name'].'</td>';
echo '<td><a href="#">On/Off</a></td>';
echo '<td><a href="#">Edit</a></td>';
echo '<td><a href="#">Delete</a></td>';
echo '</tr>';
unset($arr[$key]);
generate_tree_table($arr, $value['id'],$level);
}
}
}
echo '<div style="width:500px;border:1px solid #aaa;">';
echo generate_tree_list($rec);
echo '</div>';
echo '<table border="1" cellpadding="5">';
echo generate_tree_table($rec);
echo '</table>';
?>
|
|
lundi 21 novembre 2011 à 11:46:06 |
Re : intervalle et rendu html

JulSoft
|
bon, un truc à l'arrache, uniquement en php
Code PHP :
<?php
$a = array(
array("parent1",array(
array("enfant1",array()),
array("enfant2", array(
array("enfant21",array())
)),
array("enfant3",array())
)),
array("parent2", array())
);
function afficheHierarchie($array){
static $level = -1;
$level ++;
foreach($array as $element){
for($i=0;$i<$level;$i++)
echo "--";
echo $element[0] . "<br />";
afficheHierarchie($element[1]);
}
$level--;
}
afficheHierarchie($a);
?>
Pour incrémenter uniquement avec des --.
Après ça vaut ce que ça vaut hein.
|
|
Cette discussion est classée dans : table, html, tuto, rendu, intervalle
Répondre à ce message
Sujets en rapport avec ce message
Afficher des balisse HTML comme du texte... [ par spike911 ]
Bonjours, Je travail en PHP, MySQL sous un serveur Apache en local. J'ai créer une table avec quelques petit champ, cette table contien des commentair
php mysql html [ par hela31 ]
je travaille sur un site web dans mes etude gestion d une residence j ai table client table tarifs table disponibilite dans une page j ai un tableau q
Boucle + liste de fichier [ par maximefranck ]
Bonjour , j'aurai encor besoin de votre aide ...j'ai cree un code pour diviser un mon de fichier , je m'explique dans le repertoire ***** il y
Largeur d'une page web [ par Ecux ]
Bonjour, j'ai un petit souci avec une table en html. A partir d'une certaine largeur le contenu des se met automatiquement sur plusieurs lignes (ret
afficher une valeur js dans une table html [ par niss87 ]
Bonjour; desolé d'avoir mis mon probleme ici, mais je n ai pas trouvé son bon endroit dans le forum js! mon pb: j 'ai une table html, qui se remplie
TABLE BDD [ par begueradj ]
Azul, J'ai à ajouter un produit à l'une des 4 catégories prédéfinies à partir d'un [code=html]...[/code] Et lorsque je posete le [code=html]....[/cod
Mise en forme d'une table avec du PHP [ par darktonin ]
Bonjour à tous, Débutant en PHP, j'aimerai savoir comment superposer plusieurs lignes de données dans un tableau HTML. Je m'explique: Le résultat à
Format table mysql pour stocker dates récurentes [ par hdh ]
Bonjour Je voudrais faire une sort de module GTD ("Get Things Done" : sorte d'agenda pour l'aide à la gestion de projet) en php & mysql. Pour cela je
include pour un débutant [ par sweaty41 ]
Bonjour à tous Je débute en php pour créer un site. j'ai commencé ce site en html et j'avais utiliser les iframes et après renseignements sur le net,
faire un select dans ma table eleve [ par msi079 ]
salut a vous j'ai crée une table a partir de laquelle je veux faire un SELECT mais je reçois l'erreur : ----------------------------------------------
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|