Hametsu |
Le 17/02/2008 à 23:32  |
|
Bonjour, après de nombreuses recherches je n'arrive toujours pas réellement à comprendre comment mettre en œuvre une arborescence dans une table mysql  . j'ai une table `pages` où j'ajoute comme le nom de la table l'indique des ... pages ! une page peut avoir plusieurs "enfants" et appartenir à un "parent", chaque "enfant" peut être "parent" de plusieurs autres "enfants" etc... j'ai lu un étonnant article sur les "représentation intervallaire des arborescences" : lire l'articleMais je ne vois pas réellement comment l'utiliser pour créer par exemple une liste (<ul><li></li></ul>) ou une liste de sélection (<select><option></option></select>). Si vous pouviez ne serais-ce que m'aiguiller ou me fournir d'autres liens afin que je poursuive mes recherches ça serait cool :D Au revoir ! PS : je tiens à préciser que c'est pour un projet d'étude et pas une lubie ;) |
Brako |
Le 01/03/2008 à 11:18  |
|
Bonjour!
Ou ce situe exactement de ton problème ? A la création de la table en elle même en mettant en relation enfants et parents ou à l'affichage ?
La table je ferais comme le dit l'arclicle que tu as cité tout simplement : >un ID en autoincrement pour tout les engegistrements de la base >le titre de l'enfant, du parent, ou de la page >et un PARENT_ID qui contient l'ID du parent
Imaginon que l'on veuille afficher les enfants dont l'ID du parent est de 5 Pour l'affichage avec select et option :
<SELECT name="Famille">
<?php
$enfants= mysql_query('SELECT * FROM ta_table WHERE PARENT_ID=5') or die(mysql_error());
while($donnees = mysql_fetch_array($enfants))
{
echo'<OPTION VALUE="' . $donnees['titre'] . '">' . $donnees['titre'] . '</OPTION>';
}
?>
</SELECT>
Pour l'affichage avec ul et li même chose :
<ul>
<?php
$enfants= mysql_query('SELECT * FROM ta_table WHERE PARENT_ID=5') or die(mysql_error());
while($donnees = mysql_fetch_array($enfants))
{
echo'<li>' . $donnees['titre'] . '</li>';
}
?>
</ul>
En esperant que cela puisse t'aider -- Ce qui donne une éventuelle matière à suspecter une quelconque propagande ... |