Forum d'entraide PHPFrance

Venez poser vos questions PHP, MySQL, HTML, CSS, Javascript, Gestion de serveurs à la communauté PHPfrance

Vers le contenu

» Masquer les résultats de la recherche

Recherche dynamique PHPfrance

  1. Effectuez une recherche, les résultats s'afficheront dynamiquement ici.

interval et rendu html

Pour les initiés, les confirmés, les experts, les gourous... voire plus.

interval et rendu html

Messagepar 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.
tyty22
Embryon
 
Messages: 4
Inscription: 13 Nov 2011, 19:06

Publicité

Re: interval et rendu html

Messagepar stealth35 13 Nov 2011, 20:52

encore du crosspost ...
stealth35
ViPHP
ViPHP
 
Messages: 5454
Inscription: 27 Déc 2009, 17:58

Re: interval et rendu html

Messagepar tyty22 13 Nov 2011, 21:12

stealth35 a écrit: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.
tyty22
Embryon
 
Messages: 4
Inscription: 13 Nov 2011, 19:06

Re: interval et rendu html

Messagepar tyty22 15 Nov 2011, 16:12

voilà déjà un début, mais...
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
   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.
Dernière édition par tyty22 le 15 Nov 2011, 16:49, édité 1 fois.
tyty22
Embryon
 
Messages: 4
Inscription: 13 Nov 2011, 19:06

Re: interval et rendu html

Messagepar 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é
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer
Avatar de l’utilisateur
zeus
Administrateur PHPfrance
Administrateur PHPfrance
 
Messages: 12897
Inscription: 22 Avr 2005, 11:11
Localisation: Lyon

Re: interval et rendu html

Messagepar 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.
      /*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 '
';


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
tyty22
Embryon
 
Messages: 4
Inscription: 13 Nov 2011, 19:06


Retourner vers PHP avancé

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 14 invités

  • Publicité