Ciao a tutti.
Mi perdo in una cosa forse semplice.
Cicalndo sui recordi presi da db, vorrei disegnare un albero con le liste ordinate.
Lasciamo da parte i css e i js che sono corretti, il mio problema sta nel generare dinamicamente il seguente codice
Questo e' un esempio in HTML
Codice PHP:
<ul id="navigation">
[*][url="?1"]Item 1[/url]
<ul>
[*][url="?1.0"]Item 1.0[/url]
<ul>
[*][url="?1.0.0"]Item 1.0.0[/url]
[/list]
[*][url="?1.1"]Item 1.1[/url]
[*][url="?1.2"]Item 1.2[/url]
<ul>
[*][url="?1.2.0"]Item 1.2.0[/url]
<ul>
[*][url="?1.2.0.0"]Item 1.2.0.0[/url]
[*][url="?1.2.0.1"]Item 1.2.0.1[/url]
[*][url="?1.2.0.2"]Item 1.2.0.2[/url]
[/list]
[*][url="?1.2.1"]Item 1.2.1[/url]
<ul>
[*][url="?1.2.1.0"]Item 1.2.1.0[/url]
[/list]
[*][url="?1.2.2"]Item 1.2.2[/url]
<ul>
[*][url="?1.2.2.0"]Item 1.2.2.0[/url]
[*][url="?1.2.2.1"]Item 1.2.2.1[/url]
[*][url="?1.2.2.2"]Item 1.2.2.2[/url]
[/list]
[/list]
[/list]
[*][url="?2"]Item 2[/url]
<ul>
[*]<span>Item 2.0</span>
<ul>
[*][url="?2.0.0"]Item 2.0.0[/url]
<ul>
[*][url="?2.0.0.0"]Item 2.0.0.0[/url]
[*][url="?2.0.0.1"]Item 2.0.0.1[/url]
[/list]
[/list]
[*][url="?2.1"]Item 2.1[/url]
<ul>
[*][url="?2.1.0"]Item 2.1.0[/url]
<ul>
[*][url="?2.1.0.0"]Item 2.1.0.0[/url]
[/list]
[*][url="?2.1.1"]Item 2.1.1[/url]
<ul>
[*][url="?2.1.1.0abc"]Item 2.1.1.0[/url]
[*][url="?2.1.1.1"]Item 2.1.1.1[/url]
[*][url="?2.1.1.2"]Item 2.1.1.2[/url]
[/list]
[*][url="?2.1.2"]Item 2.1.2[/url]
<ul>
[*][url="?2.1.2.0"]Item 2.1.2.0[/url]
[*][url="?2.1.2.1"]Item 2.1.2.1[/url]
[*][url="?2.1.2.2"]Item 2.1.2.2[/url]
[/list]
[/list]
[/list]
[*][url="?3"]Item 3[/url]
<ul>
<li class="open">[url="?3.0"]Item 3.0[/url]
<ul>
[*][url="?3.0.0"]Item 3.0.0[/url]
[*][url="?3.0.1"]Item 3.0.1[/url]
<ul>
[*][url="?3.0.1.0"]Item 3.0.1.0[/url]
[*][url="?3.0.1.1"]Item 3.0.1.1[/url]
[/list]
[*][url="?3.0.2"]Item 3.0.2[/url]
<ul>
[*][url="?3.0.2.0"]Item 3.0.2.0[/url]
[*][url="?3.0.2.1"]Item 3.0.2.1[/url]
[*][url="?3.0.2.2"]Item 3.0.2.2[/url]
[/list]
[/list]
[/list]
[/list]
io ciclo sulla mia gerarchia ad albero . Ci basta sapere che uso un campo
isSlave = 0 ====> ramo cartella
isSlave = 1 ====> ramo foglia
Necessito del codice php che ciclando restituisca una stringa composta come il codice html (chiaramente non si sa quanti figli e cartelle...)
Spero di esser stato chiaro.
Ho provato cosi ma non e' corretto
Codice PHP:
public function getElementList($ownerEl)
{
while ($row = $this->db->fetchObject($result))
{
if ($row->isSlave == 0){
$str .= "<ul >[*]<a href='prodotti.php?id_art=".$row->Id."'>"
."".$row->name."</a>".$this->getElementList($row->Id)."[/list]";
}
}
}
<ul id='navigation' style="float:left;" > echo $mioObj->getElementList(0);[/list]
come vedete richiamo ricorsivamente la funzione che appende UL E LI .... ma c'e' qualcosa che non quadra .