11
« Įrašytas: 2012-10-20 11:51:17 am »
Sveiki turiu meniu.
O man reiktu, kad butu sitaip:
ta prasme tarp item 1 ir item 3 lieka tarpas o as noreciau, kad butu salia vienas kito koda naudoju toki
html meniu (isemu is duomenu bazes) atrodo taip ->
<div id="meniu">
<ul>
<li> <a href=""> Meniu pavadinimas </a>
<ul> <li> <a href=""> item 1 </a>
<ul>
<li> <a href=""> 1.1 item </a> </li>
<li> <a href=""> 1.2 item </a> </li>
</ul>
</li>
<li> <a href=""> item 2 </a>
<ul>
<li> <a href=""> 2.1 item </a> </li>
<li> <a href=""> 2.2 item </a> </li>
<li> <a href=""> 2.3 item </a> </li>
<li> <a href=""> 2.4 item </a> </li>
<li> <a href=""> 2.5 item </a> </li>
</ul>
<li> <a href=""> item 3 </a>
<ul>
<li> <a href=""> 3.1 item </a> </li>
</ul>
</ul>
</li>
</ul>
</div>
is mysql ismeu taip:
$mysql = mysql_query("SELECT * FROM meniu ORDER BY id");
while($row = mysql_fetch_array($mysql)){
$meniu[] = array("id" => $row["id"], "meniu" => $row["meniu"], "url" => $row["url"], "lygis" => $row["lygis"]);
}
function vaikai($rows,$id) {
foreach ($rows as $row) {
if ($row['lygis'] == $id)
return true;
}
return false;
}
function meniu($rows, $parent = 0, $lygis = 0)
{
foreach ($rows as $row){
if ($row['lygis'] == $parent){
$meniu.= "<li $class> <a href='/".$row["url"]."'> $row[meniu] </a>";
if (vaikai($rows,$row['id']))
$meniu.= meniu($rows, $row['id'], $row["colums"] );
$meniu.= "</a> </li>";
}
}
$meniu.= "</ul>";
return $meniu;
}
echo meniu($meniu);
Css kazka meginau padaryti taip ->
#meniu {width: 790px; margin: -17px 0 0 20px; float:left;}
#meniu ul {margin: 0px; padding: 0px; float:left;}
#meniu ul li {margin: 0; padding: 0; float:left;}
#meniu ul li a {display:block; padding: 30px 30px 13px 10px; background:url(images/meniu.png) -50px -108px; font-size: 12px; }
#meniu ul ul li a {font-weight:bold; background:none; padding: 10px 10px 10px 10px;}
#meniu ul ul {visibility:hidden; position:absolute; background-color:#e8e8e8; border: 1px #aeadad solid; border-top:none; margin: -7px 0 0 0; }
#meniu ul li:hover ul {visibility:visible; }
#meniu ul ul li {width: 250px; }
#meniu ul ul li {width: 250px;}
#meniu ul ul ul li {clear:both;}
#meniu ul ul ul {position:relative; border: none;}
#meniu ul ul ul li:first-child a:after{border:none;}