2段サブメニューのメニューを作りたい。最終的に、HTML は以下のコードのようになります。
<ul>
<li><a href="#">elektronikos prekes</a>
<ul>
<li><a href="#">dar kaskas </a>
<ul>
<li><a href="#">ka ka 2</a></li>
</ul>
</li>
<li><a href="#">tranzistoriai </a>
<ul>
<li><a href="#">sub 1</a></li>
<li><a href="#">tikri 1</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">kompiuteriai</a>
<ul>
<li><a href="#">nesiojami 8</a></li>
</ul>
</li>
</ul>
これが私のコードです:
$queryreg=mysql_query("select distinct a.meniu as meniu , b.sub as sub, c.sub2 as sub2,a.meniu_id as m_id, b.sub_id as s_id,
c.sub2_id as s_id2, count(distinct p.id) as pre
from meniu a
LEFT OUTER JOIN sub AS b ON ( a.meniu_id = b.meniu_id and b.rodyti='1' )
LEFT OUTER JOIN preke AS p ON ( b.sub = p.sub and a.meniu=p.meniu)
LEFT OUTER JOIN sub2 AS c ON ( b.sub_id = c.sub_id AND c.rodyti='1')
LEFT OUTER JOIN preke AS pr ON ( pr.sub2 = c.sub2 and pr.sub=b.sub and pr.meniu=a.meniu)
where a.rodyti='1' and a.meniu='elektronikos prekes' or a.meniu='kompiuteriai'
group by a.meniu, a.meniu_id, b.sub, b.sub_id, c.sub2, c.sub_id");
$AnkstesnisSub='';
$ankstesnisMeniu='';
$output = $ankstesnisMeniu.$AnkstesnisSub = '';
echo'<ul>';
while ($row = mysql_fetch_assoc ($queryreg))
{
if ($row['meniu'] != $ankstesnisMeniu )
{
if (!empty ($ankstesnisMeniu) )
{
$output .= " </ul></li></ul></li>";
}
$output .= '<li><a href="#">' . $row['meniu'] . "</a><ul>";
$ankstesnisMeniu = $row['meniu'];
}
if ( $row['sub'] != $AnkstesnisSub)
{
if (!empty ($AnkstesnisSub))
{
$output .= "</ul></li>";
}
if($row['sub2']==NULL){$prekiu_kiekis = $row['pre'];}
elseif($row['sub2']!=NULL){$prekiu_kiekis ='';}
$output .= '<li><a href="#">' . $row['sub'] . " $prekiu_kiekis</a><ul>";
$AnkstesnisSub = $row['sub'];
$prevID2 = $row['s_id'];
}
if($row['sub2']!=NULL){$prekiu_kiekis = $row['pre'];}
elseif($row['sub2']==NULL){$prekiu_kiekis ='';}
$output .= '<li><a href="#">' . $row['sub2'] ." $prekiu_kiekis</a></li>";
$prevID3=$row['sub2'];
}
$output = '' . $output . "</ul></li></ul></li>";
echo"$output";
echo'</ul>';
しかし、私は得る:
<ul>
<li><a href="#">elektronikos prekes</a>
<ul>
<li><a href="#">dar kaskas</a>
<ul>
<li><a href="#">ka ka 2</a></li>
</ul>
</li>
<li><a href="#">tranzistoriai</a>
<ul>
<li><a href="#">sub 1</a></li>
<li><a href="#">tikri 1</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">kompiuteriai</a>
<ul></ul>
</li>
<li><a href="#">nesiojami 8</a>
<ul>
<li><a href="#"></a></li>
</ul>
</li>
</ul>
</li></ul>
最初のメニュー項目はすべて問題ありませんが、2 番目の項目は間違っています。多分誰かが私を助けることができますか?