LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009
-
4 mars 2008 à 10:43
cs_flashnet
Messages postés2Date d'inscriptionmardi 22 mars 2005StatutMembreDernière intervention10 janvier 2009
-
10 janv. 2009 à 14:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_flashnet
Messages postés2Date d'inscriptionmardi 22 mars 2005StatutMembreDernière intervention10 janvier 2009 10 janv. 2009 à 14:00
Le script fonctionne super bien par contre au lieu de faire des listes avec et <li> serait-il possible de faire des sauts de ligne et des espaces entre les cat?gories (dans le but de mettre des images ? la place) ?
Exemple :
Cat1
ss Cat1
sss cat
Cat2 etc...
Je ne vois pas la solution... Merci
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 7 mars 2008 à 09:34
Coucou, je suis parfaitement d'accord avec toi pour dire que le xml serait plus gourmand en ressource que le sql, mais dire que c'est plus simple, à mon avis ca va dépendre de la structure de ta base.
En effet, le xml étant déjà structuré comme un arbre, sa compréhension est directe.
Mais apres c'est clair, ya pas photos, sur un site avec des serveurs décentralisés, le sql sera la meilleure méthode !
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 7 mars 2008 à 02:49
t'as parfaitement raison codefalse, mais tu traites plus facilement du sql que du xml... et avec moins de ressources... enfin, c'est pas du tout le meme genre de choses, genre imagine sur CS, t'as pas qu'un seul serveur, donc avoir du sql, c'est mieux que des fichiers...
fhx, l'idee de mettre ton xml en sql, ca veut dire que pour traiter ton xml, tu dois appeller mysql ou autre puis traiter ton xml avant de pouvoir faire tes modifs, puis remettre tout ca en mysql... c'est franchement lourd comme methode...
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 6 mars 2008 à 23:22
ouah ! Fhx ! Ca faisait un moment :p
Bon je dirai que je suis d'accords pour le fait que le xml s'approche plus de la notion d'arborescence vu que C'EST de l'arborescence :p Apres Sql, ce sera de l'arbo abstraite, puisqu'il faudra construire son arbre en bien pensant sa requete !
Apres, c'est mon avis ! :p
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 6 mars 2008 à 19:39
fhx, en sql, ca implique de parser ton xml...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 6 mars 2008 à 19:30
Hello,
"tu ne peux pas faire ca avec des options et select."
si, avec <optgroup />
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 6 mars 2008 à 19:26
Si tu veux le sauvegarder, parse ton document XML pour le foutre en chaine et ou dans une base SQL par la suite.
Pour un arbre, XML y'a pas mieux !
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 6 mars 2008 à 13:47
tu ne peux pas faire ca avec des options et select.
cs_stefane321
Messages postés31Date d'inscriptionlundi 4 février 2008StatutMembreDernière intervention21 juillet 2009 6 mars 2008 à 04:52
Je choisie la méthode 1 pour naif qui me convient bien.
Mais je souhaite l'utiliser pour une liste déroulante.
J'ai donc modifier le html de la fonction pour ceci:
function affArbo1($id=0){
$r=mysql_query('SELECT id, nom FROM arbo1 WHERE id_parent='.$id) or die(mysql_error());
while($data=mysql_fetch_assoc($r)){
echo '<option>'.$data['nom'].'</option>';
affArbo1($data['id']);
}
}
echo '<select>';
affArbo1();
echo '</select>';
Sa marche sauf il n'y a pas de démarcation entre les parent et les enfants.
Pouvez-vous svp m'aider à obtenir un affichage du genre:
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 5 mars 2008 à 23:11
Je veux bien te croire :)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 5 mars 2008 à 18:52
... c'est juste un "type" arbre stoque en sql...
j'ai commence a faire un truc en OO, mais ca n'aurait pas ete le meme genre de source, celle ci doit-etre comprehensible par tous, simple et claire. l'autre, fait une classe Element, une classe Elements, une abstraction sql, une classe MyIterator, une class abstraite Arbo, deux classes Arbo, mais pour qu'elles soient generiques, faut des descriptions de types d'elements...
bref c'est pas simple...
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 5 mars 2008 à 18:37
Honnetenement ? non, je n'ai pas de solutions.
A vrai dire je ne comprends pas tres bien le principe d'arborescence et je n'ai malheureusement pas le temps de m'y mettre. Désolé :/
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 5 mars 2008 à 15:22
codefalse, si tu trouves une methode interessante pour modeliser ca en Objet, je serais curieux d'avoir un diagramme, parce-que moi, ce que j'arrive a faire devrait :
- s'integrer a part entiere dans :
- la SPL
- un framework
- php6
ou
- ne servirait a rien tout seul
j'ai prefere expliquer les principes vaguement... en corrigant quelques requetes de developpez, et en postant un exemple.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 4 mars 2008 à 19:50
Hello,
il faut aussi préciser que cette méthode, si elle permet d'afficher une arbo bien plus rapidement, ne convient absolument pas pour une arbo qui serait amenée à bouger. Ca doit être quasiment du statique.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 4 mars 2008 à 18:41
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 4 mars 2008 à 13:27
C'est vrai que ca aurait été mieux en Poo ^^ :p
Par contre, malgré le pré-requis, une petite description rapide de l'utilité des fonctions serait la bienvenue, histoire qu'en quelques lignes on comprenne de quoi ca parle :)
LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009 4 mars 2008 à 10:43
J'ai pas le temps de lire le tutoriel de Developez.com complet maintenant donc je pose quand même ma question ...
Tu peux vite fait expliquer à quoi correspond la méthode non-naïve ?
10 janv. 2009 à 14:00
Exemple :
Cat1
ss Cat1
sss cat
Cat2 etc...
Je ne vois pas la solution... Merci
7 mars 2008 à 09:34
En effet, le xml étant déjà structuré comme un arbre, sa compréhension est directe.
Mais apres c'est clair, ya pas photos, sur un site avec des serveurs décentralisés, le sql sera la meilleure méthode !
7 mars 2008 à 02:49
fhx, l'idee de mettre ton xml en sql, ca veut dire que pour traiter ton xml, tu dois appeller mysql ou autre puis traiter ton xml avant de pouvoir faire tes modifs, puis remettre tout ca en mysql... c'est franchement lourd comme methode...
6 mars 2008 à 23:22
Bon je dirai que je suis d'accords pour le fait que le xml s'approche plus de la notion d'arborescence vu que C'EST de l'arborescence :p Apres Sql, ce sera de l'arbo abstraite, puisqu'il faudra construire son arbre en bien pensant sa requete !
Apres, c'est mon avis ! :p
6 mars 2008 à 19:39
6 mars 2008 à 19:30
"tu ne peux pas faire ca avec des options et select."
si, avec <optgroup />
6 mars 2008 à 19:26
<racine>
<element1>Nom</element1>
<element2>xxx...</element2>
<element3>
<sselement31>...</sselement31>
<sselement32>...</sselement32>
</element3>
</racine>
Si tu veux le sauvegarder, parse ton document XML pour le foutre en chaine et ou dans une base SQL par la suite.
Pour un arbre, XML y'a pas mieux !
6 mars 2008 à 13:47
6 mars 2008 à 04:52
Mais je souhaite l'utiliser pour une liste déroulante.
J'ai donc modifier le html de la fonction pour ceci:
function affArbo1($id=0){
$r=mysql_query('SELECT id, nom FROM arbo1 WHERE id_parent='.$id) or die(mysql_error());
while($data=mysql_fetch_assoc($r)){
echo '<option>'.$data['nom'].'</option>';
affArbo1($data['id']);
}
}
echo '<select>';
affArbo1();
echo '</select>';
Sa marche sauf il n'y a pas de démarcation entre les parent et les enfants.
Pouvez-vous svp m'aider à obtenir un affichage du genre:
<select name="categories">
<option value="1">Fruit</option>
<option value="2">Fruit -> Sud-americain</option>
<option value="3">Fruit -> Sud-americain -> Orange</option>
<option value="4">Fruit -> Sud-americain -> Pamplemousse</option>
<option value="5">Fruit -> Nord-americain</option>
<option value="6">Fruit -> Nord-americain -> Pomme</option>
<option value="7">Fruit -> Nord-americain -> Bleuet sauvage</option>
<option value="8">Fruit -> Nord-americain -> Citrouille</option>
</select>
Merci!
5 mars 2008 à 23:11
5 mars 2008 à 18:52
j'ai commence a faire un truc en OO, mais ca n'aurait pas ete le meme genre de source, celle ci doit-etre comprehensible par tous, simple et claire. l'autre, fait une classe Element, une classe Elements, une abstraction sql, une classe MyIterator, une class abstraite Arbo, deux classes Arbo, mais pour qu'elles soient generiques, faut des descriptions de types d'elements...
bref c'est pas simple...
5 mars 2008 à 18:37
A vrai dire je ne comprends pas tres bien le principe d'arborescence et je n'ai malheureusement pas le temps de m'y mettre. Désolé :/
5 mars 2008 à 15:22
- s'integrer a part entiere dans :
- la SPL
- un framework
- php6
ou
- ne servirait a rien tout seul
j'ai prefere expliquer les principes vaguement... en corrigant quelques requetes de developpez, et en postant un exemple.
4 mars 2008 à 19:50
il faut aussi préciser que cette méthode, si elle permet d'afficher une arbo bien plus rapidement, ne convient absolument pas pour une arbo qui serait amenée à bouger. Ca doit être quasiment du statique.
4 mars 2008 à 18:41
http://sqlpro.developpez.com/cours/arborescence/images/SQLtree2_1.gif
l'arbo 2 c'est ce schemat...
4 mars 2008 à 13:27
Par contre, malgré le pré-requis, une petite description rapide de l'utilité des fonctions serait la bienvenue, histoire qu'en quelques lignes on comprenne de quoi ca parle :)
4 mars 2008 à 10:43
Tu peux vite fait expliquer à quoi correspond la méthode non-naïve ?