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 :

fonction récursive php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Webmaster
    Inscrit en
    Juillet 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2005
    Messages : 36
    Par défaut fonction récursive php
    bonjour
    si vous pouvez m aider de faire cette fonction recurssive

    j ai une table category{id,parent_id,title}

    j aime bien afficher les category par ordre c a dire

    A
    A|B
    A|B|C
    A|B|D
    A|F
    A|F|G

    ect

    sachant que les lettres se sont les title dans la table
    merci de m aider

  2. #2
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Par défaut
    Si ça peut t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $query = "SELECT id, parent_id, title FROM category ORDER BY title ASC";
    $result = mysql_query($query);
     
    $categories = array();
     
    while($row = mysql_fetch_array($result)) {
    	$categories[] = array(
    	'parent_id' => $row['parent_id'],
    	'categorie_id' => $row['id'],
    	'nom_categorie' => $row['title']
    	);
    }
     
    echo afficher_menu(0, 0, $categories);
    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
    25
    26
    27
    28
    29
    function afficher_menu($parent, $niveau, $array) {
     
    $html = "";
    $niveau_precedent = 0;
     
    if (!$niveau && !$niveau_precedent) $html .= "\n<ul>\n";
     
    foreach ($array AS $noeud) {
     
    	if ($parent == $noeud['parent_id']) {
     
    	if ($niveau_precedent < $niveau) $html .= "\n<ul>\n";
     
    	$html .= "<li>" . $noeud['nom_categorie'];
     
    	$niveau_precedent = $niveau;
     
    	$html .= afficher_menu($noeud['categorie_id'], ($niveau + 1), $array);
     
    	}
    }
     
    if (($niveau_precedent == $niveau) && ($niveau_precedent != 0)) $html .= "</ul>\n</li>\n";
    else if ($niveau_precedent == $niveau) $html .= "</ul>\n";
    else $html .= "</li>\n";
     
    return $html;
     
    }

Discussions similaires

  1. [MySQL] migration de Fonction récursive PHP/MYSQL vers PHP5 CodeIgniter /mysql
    Par Hasret dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 13/03/2013, 19h32
  2. Fonction récursive identique php
    Par drick35 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/10/2012, 10h54
  3. fonction récursive php
    Par chris801 dans le forum Langage
    Réponses: 3
    Dernier message: 16/10/2010, 12h14
  4. [PHP 5.3] Fonction récursive et connexion
    Par remi5 dans le forum Langage
    Réponses: 5
    Dernier message: 08/06/2010, 11h01
  5. [FLASH MX] Problème flash et fonction mail() php
    Par proutcore dans le forum Flash
    Réponses: 7
    Dernier message: 21/05/2007, 12h21

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