Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/05/2011, 17h40   #1
Membre à l'essai
 
Femme
Développeur Web Junior
Inscription : novembre 2009
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web Junior

Informations forums :
Inscription : novembre 2009
Messages : 124
Points : 22
Points : 22
Par défaut afficher une sorte d'arborescence du type categorie->sous_categorie->sous_sous_categorie.

Bonjour,
Voilà, j'ai une petite problèmatique et je n'arrive pas à la résoudre malgré mes recherches.
Je dois afficher une sorte d'arborescence du type categorie->sous_categorie->sous_sous_categorie.
Le tout est extrait d'une base de données.
Le problème est que j'arrive à afficher toutes les catégories mais que je n'arrive pas à afficher
les sous-catégories correspondantes juste en-dessous.
En clair, je veux avoir un truc du genre
Categorie1
Sous_cat_a
Sous_cat_b
Categorie2
Sous_cat_c
etc...

Tout ce que j'arrive à afficher c'est
Catégorie1
Catégorie2
Catégorie3
avec des liens vers une liste des sous-catégories correspondantes.
Si quelqu'un a une idée, je suis à votre écoute.
Merci d'avance.
nassing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 21h17   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
On ne peut pas te répondre sans voir la structure de ta table.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 14h12   #3
Membre à l'essai
 
Femme
Développeur Web Junior
Inscription : novembre 2009
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web Junior

Informations forums :
Inscription : novembre 2009
Messages : 124
Points : 22
Points : 22
La structure de la table est la suivante:
categorieId
categorieParentId
categorieName
nassing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 14h20   #4
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Citation:
Envoyé par nassing Voir le message
La structure de la table est la suivante:
categorieId
categorieParentId
categorieName
Bonjour,

Imaginons que tu veuilles lister toutes les catégories / sous-catégories :
Citation:
sélection de toutes les catégories pour lesquelles categorieParentId est null
Tu obtiens donc toutes tes catégories, tu peux ensuite sélectionner les sous-catégories.

Citation:
pour chaque catégorie, sélection de toutes les sous-catégories qui ont pour categorieParentId l'id de ta catégorie
Si tu as besoin de plus d'infos, dit nous sous quel SGBD tu travailles.
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2011, 16h04   #5
Membre à l'essai
 
Femme
Développeur Web Junior
Inscription : novembre 2009
Messages : 124
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Web Junior

Informations forums :
Inscription : novembre 2009
Messages : 124
Points : 22
Points : 22
bonjour,
voici une fonction qui permet d'afficher des domaines et des sous domaines sous forme d'une arborescence mais je n'arrive pas à les afficher dans des DIV sur une seule ligne à partir de cette fonction, comme j'utilise Zend framework je vous joins le modèle :
Code :
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
public function getListHtmlDFA($array=array(), $parent=0, $level=0){
					$html 		= "";
					$prevLevel 	= 0;
					if (!$niveau && !$prevLevel) $html.= "<ul>" ;
					if(is_array($array)){
						foreach ($array AS $key => $value) {
						 	$order 	= $prevLevel != $parent ? 1 : $order+1;
						 	$href 	= $this->action != '' ? "{$this->action}{$value->id}" : "" ;
						 	if ($parent == $value->parent) {
								if ($prevLevel < $niveau) $html .= "<ul>";
								if(!$this->languages || !(is_array($this->languages) && count($this->languages)) || (is_array($this->languages) && count($this->languages)==0)){
									$html .= "<li>&nbsp;&nbsp;&nbsp;&nbsp;";
									$html .= "<input type='hidden'  value='{$value->id}'/>";
									$html .= "<input type='hidden'  value='{$parent}'/>";
									$html .= "<input type='hidden'  value='{$order}'/>";
									if(count($this->getUrlCible())){
										foreach($this->getUrlCible() as $urlCible){
											$id = isset($urlCible['useId']) && $urlCible['useId'] == true ? $value->id : "" ;
												$html.= "<span  onclick=window.location='{$urlCible['url']}{$id}'>{$urlCible['label']}</span>&nbsp;&nbsp;&nbsp;&nbsp;";
										}
									}
								}else{
									$html .= "<li id='lst_{$level}{$value->id}'><a>{$value->name}</a>&nbsp;&nbsp;&nbsp;&nbsp;";
									$html .= "<input type='hidden' name='domaine_{$value->id}'  value='{$value->id}'/>";
									$html .= "<input type='hidden' name='parent_{$parent}_{$value->id}_{$order}'  value='{$parent}'/>";
									$html .= "<input type='hidden' name='order_{$parent}_{$value->id}_{$order}'  value='{$order}'/>";
									if(is_array($this->languages) && count($this->languages)){
										foreach($this->languages as $language){
											$html .= "</span>&nbsp;&nbsp;";
										}
										if(count($this->getUrlCible())){
											foreach($this->getUrlCible() as $urlCible){
												$id = isset($urlCible['useId']) && $urlCible['useId'] == true ? $value->id : "" ;
													$html .= "<span class='link' onclick=window.location='{$urlCible['url']}{$id}'>{$urlCible['label']}</span>&nbsp;&nbsp;&nbsp;&nbsp;";
											}
										}								
									}
								}
 
								$prevLevel = $niveau;
								$html .= $this->getListHtmlDFA($array, $value->id, ($niveau + 1));
							}
						}
					}
					if (($prevLevel == $niveau) && ($prevLevel != 0)) $html .= "</ul></li>";
					else if ($prevLevel == $niveau) $html .= "</ul>";
					else $html .= "</li>";
					return $html;
				}
Si quelqu'un peut bien m'aider Merci d'avance

merci pour ta réponse,
je travaille sur phpmyadmin donc SGBD MYSQL
nassing est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h57.


 
 
 
 
Partenaires

Hébergement Web