interval et rendu html

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : interval et rendu html

Re: interval et rendu html

par tyty22 » 15 nov. 2011, 23:29

Bon j'ai trouvé une solution sans la notion de level qui est pas mal mais qui m'oblige à faire pas mal de requête donc si quelqu'un à mieux, merci.

Code : Tout sélectionner

/*on ajout un caractere en fonction du nom d'ancetre*/ for ($i=2;$i <=$v['nbparents']; $i++){ if($v['Category']['parent_id'] != 0){ echo '<span style="margin:3px;color:#979EA3">|-</span>'; } } if($v['Category']['parent_id'] == 0){ echo '-&nbsp;'; } echo $v['Category']['name'].''; echo '<br />';
Ca donne ce que je veux mais au niveau de la requête je suis obligé de faire un select et après un foreach qui prend les différents id. Donc pour 10 rubriques, 10 count.

Merci si qq'un à mieux

Re: interval et rendu html

par zeus » 15 nov. 2011, 16:31

Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans un forum plus adapté

Re: interval et rendu html

par tyty22 » 15 nov. 2011, 16:12

voilà déjà un début, mais...
   foreach ($categories as $k=>$v){
            //récupère les infos de la rubriques
            
            if ($levelPrevious < $v['Category']['level']) {
                    $r .= str_repeat('<ul>', $v['Category']['level'] - $levelPrevious);
                    $levelPrevious=$v['Category']['level'];
                    //si feuilles on modifie le lien
                    IF($v['Category']['rght'] - $v['Category']['lft'] == 1){
                            $r .= '--'.$v['Category']['name'].'<br />';
                    }
                    else{
                            $r .= '--+'.$v['Category']['name'].'<br />';
                    }
            }
            elseif($levelPrevious > $v['Category']['level']){
                    $r .= str_repeat('</ul>', ++$levelPrevious - $v['Category']['level']);
                    $levelPrevious=$v['Category']['level'];
                    //si feuilles on modifie le lien
                    IF($v['Category']['rght'] - $v['Category']['lft'] == 1){
                            $r .= '--'.$v['Category']['name'].'<br />';
                    }else{
                            $r .= '--+'.$v['Category']['name'].'<br />';
                    }
            }
            else{
                    //si feuilles on modifie le lien
                    IF($v['Category']['rght'] - $v['Category']['lft'] == 1){
                            $r .= '<li>'.$v['Category']['name'].'</li>';
                    }
                    else{
                            $r .= '<li>'.$v['Category']['name'].'</li>';
                    }
                    $levelPrevious=$v['Category']['level'];
            }
    }
Mais ça donne ça donc...
Développement

--+Php
--Code
Liens

--+Maison

--Plans

Ce qui m'embête le plus est de mettre une notion de level. Je souhaiterai faire sans.

Re: interval et rendu html

par tyty22 » 13 nov. 2011, 21:12

encore du crosspost ...
Oui je suis désolé, mais j'ai une vie et un travail et je passe beaucoup d'heure à apprendre tout seul sans personne qui connaît le développement.
Je sais qu'il y a des gens où c'est leur métier et où j'espère que cette question paraîtra simple.
C'est le dernier point qu'il me reste à faire pour réaliser mon livre photo de famille et sans ça je ne préfère pas continuer.
Donc merci de comprendre que j'ai déjà énormément chercher sur le net et passé de nombreuses heures et que je n'y arrive toujours pas.
Merci pour votre compréhension et pour tout post pouvant m'aider de la manière la plus explicite possible.

Re: interval et rendu html

par stealth35 » 13 nov. 2011, 20:52

encore du crosspost ...

interval et rendu html

par tyty22 » 13 nov. 2011, 19:09

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.