IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] system de parent calcul de level [Fait]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Fabouney
    Invité(e)
    Par défaut [Système] system de parent calcul de level
    Bonjour à tous et à toute,

    j'ai un petit problème de conception, au sujet de mon system de translation de mon site.
    tout ce passe dans une table ("trs_pages").
    chaque pages peut avoir un parent dans trs_pages.
    donc en gros il y a un champ page_id et page_parent.

    je voudrais à partir de ca générer le level pour chaque noeud actuellement j'ai une fonction récusive qui fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function MapDisplay($parent_id,$level=-1)
    {
        if(strlen($parent_id))
        {
            //affichage des infos de la page
        }
     
        $sql=dbreader_query("SELECT page_id FROM trs_pages WHEREparent_id='$parent_id' ORDER BY page_id");
        while($page_info=mysql_fetch_array($sql))
          MapDisplay($page_info['page_id'],$level+1);
      }
    et en fait j'aimerais récupérer quelque chose comme :

    level 1
    level 1.1
    level 1.2
    level 2.1
    level 2.2
    level 2.2.1

    Je vous remercie de votre aide.

    Cordialement.

  2. #2
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    salut,
    pour ceux de premier niveau quel ai leur parent_id ? 0 ou eux même ?
    pour l'exemple je vais prendre le premier cas, le but est de suivre l'algo suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function mafunction($idpere)
    {
    	$query = "select * from table where idpere = 0";
    	//execution_requete
    	while ('tant que donnee')
    	{
    		$tab[$monid]['fils'] = mafunction($monid);
    		$tab[$monid]['info'] = $mesinfos;
    	}	
    	return $tab_mesinfos;
     
    }
     
    mafunction (0);

  3. #3
    Fabouney
    Invité(e)
    Par défaut
    Premiere niveau egal 1.
    le soucis c'est que je sais pas comment incrémenté la variable level pour l'avoir sous la forme 1.1 1.2 1.3 etc etc, car idpere contrairement est pas un INT mais une STRING.
    je comrpend ce que tu a fait mais la c'est pour récupérer les enfants des parents, ca me pose pas de problème, mon problème et comment gérer les level.


    [EDIT]
    en fait le probleme que je rencontre vraiment c'est quand le level faire quelque chose comme ca

    level 2
    level 2.1
    level 2.2
    levle 2

    quand le level s'incrémente, mais qu'ensuite on retrouve une page où sont parent est à un niveau en dessous.
    je ne sais pas comment garder le level 2 est le réutilisé ensuite si jamais une autre page est à ce niveau.

  4. #4
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    ok alors dans ce cas la essaye quelque chose dans ce style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    function mafunction($idpere,$niveau)
    {
    	$query = "select * from table where idpere = $idpere";
    	//execution_requete
    	$i = 1;
    	while ('tant que donnee')
    	{
    		if($niveau = "")
    		{
    			$tab[$monid]['niveau'] = $i;	
    		}
    		else
    		{
    			$tab[$monid]['niveau'] = $niveau . '.' . $i;
    		}
    		$tab[$monid]['info'] = $mesinfos;
    		mafunction ($monid,$tab[$monid]['niveau']);
    		$i++;
    	}
    	return $tab;
     
    }
     
    mafunction (1,"");

  5. #5
    Fabouney
    Invité(e)
    Par défaut
    J'ai édité mon post précédent si ca peut t'éclaircir sur mon PB ...
    Comment gérer s'il y a plusieur niveau et tout .. :s

  6. #6
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Si je comprends bien ton problème est que tu recuperes toutes tes données d'un bloc et qu'elles ne sont pas triées. Normalement si tu recuperes tes données au fur et a mesure comme je te l'ai données ca devrait resoudre ton problème.

Discussions similaires

  1. [Système] Exécution Formule de calcul dans une chaîne
    Par san--antonio dans le forum Langage
    Réponses: 2
    Dernier message: 16/06/2006, 08h11
  2. [Système] Systeme d'apprentissage a partir de C++
    Par black.out dans le forum Langage
    Réponses: 4
    Dernier message: 14/03/2006, 16h33
  3. [Système] Systeme antileech et téléchargement
    Par Invité dans le forum Langage
    Réponses: 15
    Dernier message: 08/02/2006, 14h49
  4. [Système] Systeme de navigation
    Par Ralfman68 dans le forum Langage
    Réponses: 3
    Dernier message: 28/01/2006, 16h15
  5. [Système] systeme d'annonces....
    Par maverick7680 dans le forum Langage
    Réponses: 6
    Dernier message: 18/01/2006, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo