par
citronized » 28 juil. 2008, 17:41
Bonjour,
Je bloque sur un problème d'imbrication de liste dont le code doit reprendre cette structure html (issue de
www.dhtmlgoodies.com) :
Code : Tout sélectionner
<ul id="dhtmlgoodies_tree2" class="dhtmlgoodies_tree">
<li id="node0" noDrag="true" noSiblings="true" noDelete="true"><a href="#">Root node</a>
<ul>
<li id="node1"><a href="#">Europe</a>
<ul>
<li id="node2" noDelete="true"><a href="#">Norway</a>
<ul>
<li id="node3" noRename="true"><a href="#">Stavanger</a></li>
<li id="node6"><a href="#">Bergen</a></li>
<li id="node7"><a href="#">Oslo</a></li>
</ul>
</li>
<li id="node8"><a href="#">United Kingdom</a>
<ul>
<li id="node9"><a href="#">London</a></li>
<li id="node10"><a href="#">Manchester</a></li>
</ul>
</li>
<li id="node12"><a href="#">Sweden</a></li>
<li id="node13"><a href="#">Denmark</a></li>
<li id="node14"><a href="#">Germany</a>
<ul>
<li id="node141"><a href="#">Berlin</a>
<li id="node142"><a href="#">Munich</a>
<li id="node143"><a href="#">Stuttgart</a>
</ul>
</li>
</ul>
</li>...
Comme je souhaiterais pouvoir sauvegarder/ajouter des nœuds, il faudrait que je génère ce code html via php, en piochant dans une base MySQL

J'ai actuellement une table 'nodes' avec les rubriques :
- ID int(11)
- title varchar(255)
- position int(11)
- parentID int(11) //ID du nœud parent
- arboID int(11) //ID de l'arbre
Jusqu'à présent, je ne suis pas trop rentré dans le détail du html, puisque j'ai déjà des erreurs au niveau de l'imbrication, dans mon fichier php :
$select = 'SELECT ID, title, position, parentID, arboID FROM nodes ORDER BY ID, parentID';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total) {
$catPrec = 0;
echo "<ul>\n";
while ($data = mysql_fetch_array($result)) {
if ($data['parentID'] != $catPrec) {
if ($catPrec != 0) {
echo " </ul>\n";
echo " </li>\n";
}
echo " <li>";
echo $data['title']."\n";
echo " <ul>\n";
$catPrec = $data['parentID'];
}
echo " <li>";
echo $row['title'];
echo "</li>\n";
}
echo " </ul>\n";
echo " </li>\n";
echo "</ul>\n";
}
Je ne sais plus par quel bout prendre ce code pour arriver au résultat en html

Bonjour,
Je bloque sur un problème d'imbrication de liste dont le code doit reprendre cette structure html (issue de www.dhtmlgoodies.com) :
[code]<ul id="dhtmlgoodies_tree2" class="dhtmlgoodies_tree">
<li id="node0" noDrag="true" noSiblings="true" noDelete="true"><a href="#">Root node</a>
<ul>
<li id="node1"><a href="#">Europe</a>
<ul>
<li id="node2" noDelete="true"><a href="#">Norway</a>
<ul>
<li id="node3" noRename="true"><a href="#">Stavanger</a></li>
<li id="node6"><a href="#">Bergen</a></li>
<li id="node7"><a href="#">Oslo</a></li>
</ul>
</li>
<li id="node8"><a href="#">United Kingdom</a>
<ul>
<li id="node9"><a href="#">London</a></li>
<li id="node10"><a href="#">Manchester</a></li>
</ul>
</li>
<li id="node12"><a href="#">Sweden</a></li>
<li id="node13"><a href="#">Denmark</a></li>
<li id="node14"><a href="#">Germany</a>
<ul>
<li id="node141"><a href="#">Berlin</a>
<li id="node142"><a href="#">Munich</a>
<li id="node143"><a href="#">Stuttgart</a>
</ul>
</li>
</ul>
</li>...[/code]
Comme je souhaiterais pouvoir sauvegarder/ajouter des nœuds, il faudrait que je génère ce code html via php, en piochant dans une base MySQL :)
J'ai actuellement une table 'nodes' avec les rubriques :
- ID int(11)
- title varchar(255)
- position int(11)
- parentID int(11) //ID du nœud parent
- arboID int(11) //ID de l'arbre
Jusqu'à présent, je ne suis pas trop rentré dans le détail du html, puisque j'ai déjà des erreurs au niveau de l'imbrication, dans mon fichier php :
[php] $select = 'SELECT ID, title, position, parentID, arboID FROM nodes ORDER BY ID, parentID';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total) {
$catPrec = 0;
echo "<ul>\n";
while ($data = mysql_fetch_array($result)) {
if ($data['parentID'] != $catPrec) {
if ($catPrec != 0) {
echo " </ul>\n";
echo " </li>\n";
}
echo " <li>";
echo $data['title']."\n";
echo " <ul>\n";
$catPrec = $data['parentID'];
}
echo " <li>";
echo $row['title'];
echo "</li>\n";
}
echo " </ul>\n";
echo " </li>\n";
echo "</ul>\n";
}[/php]
Je ne sais plus par quel bout prendre ce code pour arriver au résultat en html :(