Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 24/07/2011, 15h38   #1
Futur Membre du Club
 
Homme
Consultant informatique
Inscription : mars 2002
Messages : 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : mars 2002
Messages : 168
Points : 18
Points : 18
Par défaut Impossible de récupérer leur enfants

Bonjour

Voici mon code
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
//Maximum des id parents
   $req = $db->query("SELECT max(ID_parent) as rparent FROM menug ");
   $data = $req->fetch();
   $nombre = $data['rparent'];
   echo '<p><h6>c\'est le nombre maximum : '.$nombre.'</p></h6>';
   $req->closeCursor();
// nombre d'enregistrement
	for($i=$parent;$i<=$nombre;$i++) {
	$requete ='SELECT COUNT(id) as nenr FROM menug WHERE ID_parent='.$i;
	echo $requete.'<br/>';
    $req = $db->query($requete);
   $data = $req->fetch();
   $nEnr = $data['nenr'];
   echo '<p><h5>Le nombre d\'enregistrement est de : '.$nEnr.'</p></h5>';
   $req->closeCursor();}
 
// Lecture des enregistrements
	for($i=$parent;$i<=$nombre;$i++) {
	$requete ='SELECT * FROM menug WHERE ID_parent='.$i;
	$req = $db->query($requete);
   $data = $req->fetch();
   $Nbenfants = $data['nbenfants'];
   $enfants=$data['id_enfants'];
   if($Nbenfants ==0 ) {
	   echo '<ul>'.$data['Titre'];
   }else {
	   if($enfants==0){
		   echo '<ul>'.$data['Titre'].'avec des enfants';
	   }else{
		   for($j=0;$j=$Nbenfants;$j++) {
		   echo '<li>'.$data['Titre'].'</li>';
		   }
	   }
   };
   echo'</ul>';
   $req->closeCursor();}
Ma base
id 	Titre 		Fichier 			Chemin 			ID_parent 	id_enfants 	nbenfants
1 	Accueil 	accueil.php 		NULL 				0 		0 			0
2 	Produits 	Produits.php 		Fiches 				1 		0 			2
3 	etancheité 	etancheite.php 		fiches/produits/etancheite/ 	1 		1 			0
4 	inflitration 	infiltration.php 	fiches/produits/filtration 	1 		2 			0
Je n'arrive pas avoir les enfants qui sont nommés 1 et 2.

Merci de vos pistes

Cordialement
BXDSPORT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 00h12   #2
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Plusieurs trucs que je ne comprends pas dans ta base.

A quoi sert id_enfant?

Pourquoi nbenfants de Produits est placé à 2 alors que d'après la colonne id_parent seul Accueil a des enfants et en a 3?
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 08h04   #3
Futur Membre du Club
 
Homme
Consultant informatique
Inscription : mars 2002
Messages : 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : mars 2002
Messages : 168
Points : 18
Points : 18
Cela signifie que c'est l'enfant du parent 1. S'il est marqué 0 c'est la racine du parent. Ensuite c'est dans l'ordre d'affichage des enfants dans le parent.

Ainsi Id_parent dit à quel parent est associé et id_enfant dis que c'est un enfant de l'ID_ PARENT.
ID_PARENT = 1 et ID_enfants = 0 -> c'est le parent
id_parent = 1 et id_enfants = 1 -> c'est le premier enfant
id_parent = 1 et id_enfants = 2 -> c'est le deuxième enfant
Cela vous parait plus clair.

Merci
BXDSPORT 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 11h49.


 
 
 
 
Partenaires

Hébergement Web