probleme sur une fonction

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme sur une fonction

par jeff » 27 juin 2005, 20:50

oui, donc mes requete sont bonne smais pas le traitement apres :?

par Cyrano » 27 juin 2005, 20:46

est-ce que le nombre de "feuilles" que tu affiches correspond à la réalité ?

par jeff » 27 juin 2005, 20:43

mon probleme est le suivant
disons que le page "index" a 3 feuilles filles(bateau,planche à voile, surf)
ma fonction ne m'affichera pas la derniere feuille c'est a dire "surf"

par Cyrano » 27 juin 2005, 20:42

Quel est le noeud du problème ?
fggdm tu es un vilain garnement :langue:

par fggdm » 27 juin 2005, 20:40

Quel est le noeud du problème ?

par Cyrano » 27 juin 2005, 20:39

mouais, si on veut, mais en fin de compte qu'est-ce qui ne marche pas ?

par jeff » 27 juin 2005, 20:15

alors j'ai fait quelque chose de tordu
je me suis servi de l'article de developpez.com
qui me permet de trouver une arborescence complete du site
et j'ai rajouter un champs "level"
celui ci me permet de selectionner que les pages d'un noeud(rang n) qui se trouve au niveau n-1

(cette facon de proceder un peu bizard me permet de d'afficher l'arborescence de mon site avec une seule requete)

voici la structure de ma table:

id,nom,bord_droit,bord_gauche,level

un petit algo(exemple pour la creation d'un menu a un seul niveau) pour metre les choses en place

je recupere un id de page via un formulaire
- j'extrait les données de cette page
-je lance un requete sur ma table qui selectionne les enfants(n-1) du noeud(n)
- et je les affiche


voila j'espere que j'ai été clair:?:

par Cyrano » 27 juin 2005, 19:56

Je comprends à peu près rien à ce que tu veux faire: quelle est la structure de ta table et quels en sont les éléments ?

probleme sur une fonction

par jeff » 27 juin 2005, 19:35

salut
j'ai fait une fonction qui me permet d'afficher l'arborescence de mon site en testant si une page est un noeud ou non.
mon probleme vient du fait que la derniére feuille relatif a un noued n'est pas afficher
exemple
index est un noeud
et bateau,planche à voile, surf sont des feuilles

ma fonction retournera que
bateau et planche à voile

voici ma fonction
function arbre($id,$table,$form,$connect){
if(!isset($connect) or $connect==false)
	{
		echo 'connexion refusée';
	}
else{
		$res0=mysql_query('select * from '.$table.' where id='.$id.'') or die ("Erreur:".mysql_error());//on prend les info de la page mère
		$res1=mysql_fetch_array($res0);
		if($res1['level']==0)
			{
					echo '<ul><li id="racine">site</li>';//empeche de remonté trop haut
			}		
			else
			{
					echo '<li id="racine"><a href='.$_SERVER['PHP_SELF'].'?id='.$res1['level'].'>'.$res1['nom'].'</li></a>';//affichage mère
			}
		$res2=mysql_query('select * from '.$table.' where bord_gauche > "'.$res1['bord_gauche'].'" and bord_droit < "'.$res1['bord_droit'].'" and level="'.$res1['id'].'"') or die ('Erreur:'.mysql_error());
		$res3=mysql_fetch_array($res2);
		if($form==1){//si $form==1 alors on est dans le cas de l'exploreur pour creation
			while($res3=mysql_fetch_array($res2))//affichage des feuilles
			{
				extract($res3);
				if($bord_droit-$bord_gauche > 1)//test si on un noeud oui si la difference >1
				{	//affichage des noeuds
					echo '<li class="dossier"><label><a href='.$_SERVER['PHP_SELF'].'?id='.$id.'>'.$nom.'</a></label><input type="radio" name="selection" value='.$id.'/></li>';
				}else{ //affichage des feuilles
					echo '<li class="fichier"><label>'.$nom.'</label><input type="radio" name="selection" value='.$id.'/></li>';
				}
			}
		}else{//...
		}
	$res4=mysql_query('select count(id) from '.$table.' where bord_gauche > "'.$res1['bord_gauche'].'" and bord_droit < "'.$res1['bord_droit'].'" and level="'.$res1['id'].'"') or die ('Erreur:'.mysql_error());
	$res5=mysql_result($res4,0);
	echo '<p>il y a '.$res5.' pages filles</p></ul>';//donne le nombre de feuille d'un noeud
	}
}
je n'ai pas les idées tres clair sur cette fonction alors si vous pouvez m'aidez j'en serai tres reconnaissant
merci