Autor Zpráva
Anonymní
Profil *
Nevíte o stránkách zabívajícíh se rozbalovacím menu pomocí php
Marty
Profil
Pomocí PHP??????
Máš na mysli spíš JS, ne...

Použij hledání (nahoře vpravo), určitě se to tady už mnohokrát řešilo.
Anonymní
Profil *
http://css.e-sign.cz/menu/horizontalni-hover-menu
Martin Kuželka
Profil
Nebo http://www.maciweb.net/blog/web/clanek.php?clanek=71 .
llook
Profil
Podle dotazu bych řekl, že opravdu jde o pomocí PHP, v případě že máte 20 kategorií a v každé 10 podkategorií, tak už je fakt vhodnější PHP než JS.
Ale konkrétní stránku neznám.
thingwath
Profil
Tak pokud mám 20 kategorií každá o dalších deseti podkategoriích, tak už nemám menu ale pěkný katalog :-) To se IMHO ani nějak jako menu (a rozbalovacím?) už moc řešit nedá.
llook
Profil
Možná to byl špatný příklad, chtěl jsem prostě říct, že často může být server-side rozbalovací menu užitečné.
Leo
Profil
Ale to neni zadne server-side rozbalovaci menu, porad je to (X)HTML, CSS pripadne JavaScript (i kdyz nekdy v ruzne zakuklenych podobach). Serverovy skript to jenom vygeneruje. Leo
Anonymní
Profil *
De mi o to jak vytvořit rozbalovací menu které by fungovalo v každém prohlížeči. Nešlo by to třeba XHTML?
Leo
Profil
"De mi o to jak vytvořit rozbalovací menu které by fungovalo v každém prohlížeči. Nešlo by to třeba XHTML?"

No HTML nebo XHTML musite pouzit v kazdem pripade. Pak na to navesit CSS - zformatovat menu a podmenu do podoby kterou chcete - vlastne dvou podob - sbalene a rozbalene. A treti krok - vyresit aby se podmenu rozbalilo pri najeti mysi - a tam kvuli IE vstoupi do hry JavaScript, ale jen lehce... Leo
ash
Profil
tuto sú desiatky skriptov (aj) na menu:

http://www.dynamicdrive.com/
krteczek
Profil
no záleží jak to myslíš, kolik máš urovní(nadpisy,sekce,články..)
já to mám takhle: mám 3 tabulky: jedna jsou kategorie (nadpisy-jsou "natvrdo"), druhá sekce(jsou to odkazy),a kliknutím na sekci se otevře nabídka článků

no a potom pomocí php generuji menu nějak takhle:

<?php
$pole_kategorie=mysql_query("select * from kategorie ", $GLOBALS["link"])or ("nepovedlo se dotaz". mysql_error());
$pocet_kategorie = mysql_num_rows($pole_kategorie);
if($pocet_kategorie!=0)
{
for($i=0; $i<$pocet_kategorie; $i++)
{

$radek_kategorie= mysql_fetch_array($pole_kategorie);
if($radek_kategorie["zobrazovat"]=="ano")
{
echo "<h3>".$radek_kategorie["nazev"]."</h3>\n";
$pole_sekce=mysql_query("select * from sekce where kategorie='".$radek_kategorie["id"]."'", $GLOBALS["link"])or ("nepovedlo se dotaz". mysql_error());
$pocet_sekce = mysql_num_rows($pole_sekce);
if($pocet_sekce!=0)
{
for($j=0; $j<$pocet_sekce; $j++)
{
echo '<ul>';
$radek_sekce= mysql_fetch_array($pole_sekce);
if($radek_sekce["zobrazovat"]=="ano")
{
echo '<li><a href="?sekce_clanku='.$radek_sekce["id"].'">'.$radek_sekce["nazev"]."< /a><li>\n";
if (isset($sekce_clanku))
{
if ($sekce_clanku==$radek_sekce["id"])
{

$result = mysql_query("select zobrazovat, id, nazev from clanky where sekce='".$radek_sekce["id"]."'", $GLOBALS["link"])or ("nepovedlo se dotaz". mysql_error());
$num = mysql_num_rows($result);
if($num!=0)
{
echo '<ul>';
for($k=1; $k<=$num; $k++)
{
$row= mysql_fetch_array($result);
if(($row["zobrazovat"]=="ano") && ($k!=1))
{
echo '<li> <a href="?sekce_clanku='.$radek_sekce["id"].'&amp;clanek='.$row["id"].'"> '.$row["nazev"]."</a> </li>\n";
}
}
mysql_free_result($result);
echo '</ul>'."\n";
}

}
}
}
echo '</ul>'."\n";
}
mysql_free_result($pole_sekce);
}
}

}
mysql_free_result($pole_kategorie);
}
?>


ale tohle není vše, protože při změně obsahu z článku, ne z menu se menu zavře, takže je třeba si pomoci cookies nějak takhle:


<?php
//******************************************************************** *******************
//nejprve se ověřuje jestli je poslána sekce článku,
//a podle toho se nastaví, popřípadě smaže cookies
//jde o to aby se při práci nezavíralo otevřené menu
if(!empty($_GET["sekce_clanku"]))
{
//je poslána sekce článků
if(isset($_COOKIE["zaneta"]))
{
//kookies již byla kdysi nastavena, takže ji ted smažem
setcookie ("zaneta",-1);
}
//a nastavíme novou kookies, jejíž obsah je číslo sekce článků
setcookie ("zaneta", $_GET["sekce_clanku"]);
}

//******************************************************************** *******************
//kontrola, jestli je cookies nastavena a zároven je prázdná sekce článku
//ted se předá hodnota v kookies do proměnné $sekce_clanku
if((isset($_COOKIE["zaneta"]))and(empty($_GET["sekce_clanku"])))
{
$sekce_clanku=$_COOKIE["zaneta"];
}

//******************************************************************** *******************
//tady se řeší změna obsahu $sekce_clanku při poslání nové sekce,
//aby došlo ke změně ihned
//a ne až po dalším načtení stránky
if((isset($_COOKIE["zaneta"]))and(!empty($_GET["sekce_clanku"])))
{
$sekce_clanku=$_GET["sekce_clanku"];
}
?>

možná to není nejideálnější řešení, ale lepší mne nenapadlo
krteczek
Anonymní
Profil *
jak ma tedy ten php-köd vypadat
Toto téma je uzamčeno. Odpověď nelze zaslat.