Cytat(tomsi @ 1.05.2009, 10:28:52 )

W bazie danych tworzysz sobie tabele menu. Będziesz w niej przechowywał np. takie dane: id, nazwa (np. MENU, OPCJE, jakis_link, inny_link, itd), sciezke_dostepu_do_pliku, glowna_kategoria, podkategoria).
w glowna_kategoria i podkategoria będziesz sobie zaznaczał czy chcesz aby ten link był jako glowna_kategoria (wtedy możesz sobie zrobić żeby napis był dużymi literami, innym kolorem, itp) albo podkategoria (i też wtedy sobie formatujesz jak Ci się podoba).
Piszesz sobie skrypt odpowiedzialny za automatyczne tworzenie linków. Za pomoca pętli pobierasz sobie wszystkie rekordy z bazy i tworzysz linki. Musisz jakimś warunkiem sprawdzić czy jest to glowna_kategoria czy podkategoria żeby rozróżnić, który szablon linku użyć.
P.S.
Stwórz sobie jeszcze jedno pole w bazie które będzie grupowało podkategorie do odpowiedniej glowna_kategoria żeby nie było tak że podkategoria z MENU wczyta się w OPCJE.
NO dzieki :-) cos pokombinuje - mam juz zrobiona tabelke do przechowywania nazw tych naglowkoa i linkow i zalozylem ze nie bedzie ich wicej niz 10. zastanawiam sie czy nie zrobic drugiej tabelki do przechowywania wartosci tych linkow (czyli <a href=sciezka_do_pliku...). Cos pokombinuje;-)
a chcialem wiedziec jak wy to robicie bo sposobow jest kilka a ja bym chial jakos to zrobic zeby nie przekombinowac za bardzo;-)
Pozdrawiam:-)
juz sobie poradzilem dzieki:-)
mam teraz kolejny problem ...
mam dwie tabele - jedna obsluguje mi "ramki" z lewej strony a druga z prawej
czy istnieje mozliwosc zebym uzyl jednego case do 2 tabelek

myslalem nad czyms takim :
<a href="action=link&lewa_strona&id="jakies_id">jakis_tytul
</a>
<a href="action=link&prawa_strona&id="jakies_id">jakis_tytul
</a>
tylko nie wiem jak to przeniesc do skryptu tak zeby mi to dzialalo:/
mam cos takiego :
<?php
case "edytujl":
{
$result = $dbase->get_query("
SELECT * FROM ramka_l
WHERE id = ".$_GET['id']."
");
if ($result)
{
$ramka = new cTemplate;
$ramka->tassign['nagl'] = $result[0]['naglowek'];
$ramka->tassign['kol'] = $result[0]['link1']."<br>";
$ramka->tassign['kol1'] = $result[0]['link2']."<br>";
$ramka->tassign['kol2'] = $result[0]['link3']."<br>";
$ramka->tassign['kol3'] = $result[0]['link4']."<br>";
$ramka->tassign['kol4'] = $result[0]['link5']."<br>";
$ramka->tassign['kol5'] = $result[0]['link6']."<br>";
$ramka->tassign['kol6'] = $result[0]['link7']."<br>";
$ramka->tassign['opcje'] = "";
$page->tassign['main'] = $ramka->parse("common/ramka.htm");
$page->tassign['main'] .= $ramka->parse("common/edit_ramka.htm");
}
}
break;
case "edytujr":
{
$result = $dbase->get_query("
SELECT * FROM ramka_p
WHERE id = ".$_GET['id']."
");
if ($result)
{
$ramka = new cTemplate;
$ramka->tassign['nagl'] = $result[0]['naglowek'];
$ramka->tassign['kol'] = $result[0]['link1']."<br>";
$ramka->tassign['kol1'] = $result[0]['link2']."<br>";
$ramka->tassign['kol2'] = $result[0]['link3']."<br>";
$ramka->tassign['kol3'] = $result[0]['link4']."<br>";
$ramka->tassign['kol4'] = $result[0]['link5']."<br>";
$ramka->tassign['kol5'] = $result[0]['link6']."<br>";
$ramka->tassign['kol6'] = $result[0]['link7']."<br>";
$ramka->tassign['opcje'] = "";
$page->tassign['main'] = $ramka->parse("common/ramka.htm");
$page->tassign['main'] .= $ramka->parse("common/edit_ramka.htm");
}
}
?>
a chialbym miec to w jednym case dla obu tabelek.
a wyswietlanie mam tak :
<?php
//------------------------LEWA STRONA RAMKA------------------------------
$result = $dbase->get_query("
SELECT * FROM ramka_l
");
if ($result)
{
$leftr = new cTemplate;
$page->tassign['ramkal'] = "";
foreach ($result as $record)
{
$leftr->tassign['nagl'] = $record['naglowek'];
$leftr->tassign['kol'] = "<a href=\"?action=link&id=".$record['id']."\">".$record['link1']."</a><br>";
$leftr->tassign['kol1'] = "<a href=\"?action=link&id=".$record['id']."\">".$record['link2']."</a><br>";
$leftr->tassign['kol2'] = "<a href=\"?action=link&id=".$record['id']."\">".$record['link3']."</a><br>";
$leftr->tassign['kol3'] = "<a href=\"?action=link&id=".$record['id']."\">".$record['link4']."</a><br>";
$leftr->tassign['kol4'] = "<a href=\"?action=link&id=".$record['id']."\">".$record['link5']."</a><br>";
$leftr->tassign['kol5'] = "<a href=\"?action=link&id=".$record['id']."\">".$record['link6']."</a><br>";
$leftr->tassign['kol6'] = "<a href=\"?action=link&id=".$record['id']."\">".$record['link7']."</a>";
$leftr->tassign['opcje'] = "<a href=\"?action=dodajl&id=".$record['id']."\">>dodaj<</a> ";
$leftr->tassign['opcje'] .= "<a href=\"?action=edytujl&id=".$record['id']."\">>edytuj<</a> ";
$leftr->tassign['opcje'] .= "<a href=\"?action=usunl&id=".$record['id']."\">>usun<</a> ";
$page->tassign['ramkal'] .= $leftr->parse("common/ramka.htm");
}
}
//-------------------------------------------------------------------------
//------------------------PRAWA STRONA RAMKA------------------------------
$result = $dbase->get_query("
SELECT * FROM ramka_p
");
if ($result)
{
$leftr = new cTemplate;
$page->tassign['ramkap'] = "";
foreach ($result as $record)
{
$leftr->tassign['nagl'] = $record['naglowek'];
$leftr->tassign['kol'] = $record['link1']."<br>";
$leftr->tassign['kol1'] = $record['link2']."<br>";
$leftr->tassign['kol2'] = $record['link3']."<br>";
$leftr->tassign['kol3'] = $record['link4']."<br>";
$leftr->tassign['kol4'] = $record['link5']."<br>";
$leftr->tassign['kol5'] = $record['link6']."<br>";
$leftr->tassign['kol6'] = $record['link7'];
$leftr->tassign['opcje'] = "<a href=\"?action=dodajr&id=".$record['id']."\">>dodaj<</a> ";
$leftr->tassign['opcje'] .= "<a href=\"?action=edytujr&id=".$record['id']."\">>edytuj<</a> "; // w to miejsce bym chial dac to :"prawa_strona"
$leftr->tassign['opcje'] .= "<a href=\"?action=usunr&id=".$record['id']."\">>usun<</a> ";
$page->tassign['ramkap'] .= $leftr->parse("common/ramka.htm");
}
?>
da sie tak zrobic zeby case sprawdzal mi ktora ramke kliknolem?? bo z id mi wychodzi ale nie wiem jak przerobic to zeby tez zmieniala sie prawa i lewa strona :/
Pozdrawiam
ps. mam nadzieje ze ktos to zrozumie co napisalem;-)