[PHP][MYSQL] PHP-Navigation

bertiSR

Mitglied
Hi ich habe hier ein kleines Script mit der ich der Navigation meiner Website online verwalten kann. Erstens, was sagt ihr zum Script und zweitens, wie kann ich da ein Untermenü einbauen lassen? Also wenn man auf z.b. auf Gästebuch klickt, öffnet sich das Untermenü mit "Neuer Eintrag" und "Einträge ansehen". Ich denke, dass man da Javascritpt brauch, aber wo soll ich das einbinden lasse?

Hier das Script und der Code für die Datenbank:
PHP:
<?php
/**
 * @name       navigation.inc.php
 * @author     Adalbert Rohr <info@berti-rohr.de>
 * @copyright  2006-2007 Berti-Rohr.de
 * @uses       mysql.inc.php
 */

error_reporting(E_ALL ^ E_NOTICE);

include_once('mysql.inc.php');

/** 
 * @author     Adalbert Rohr <info@bero-cms.org> 
 * @copyright  2006-2007 BeRo-CMS 
 * @desc       Gibt die Navigation aus
 * @return     mysql_query
 */
function navigation($position, $name, $id)
{
    $sql = "SELECT
               `id`,
               `name`,
               `title`,
               `link`
           FROM
               `navigation`
           WHERE
              `position` = '". $position ."'
           AND
              `pruef` = '1'
           ORDER BY
              `order`
           ASC";
    $result = mysql_query($sql)
        or die("Fehler: ". mysql_error());

    if (mysql_num_rows($result)) {
        echo "<u>". $name .":</u>\n";
        echo "<ul id=\"". $id ."\">\n";
        // Wenn Datensätze gefunden, diese Ausgeben
        while($row = mysql_fetch_assoc($result)) {
           echo "  <li><a href=\"". $row['link'] ."\">". $row['title'] ."</a></li>\n";
        }
        echo "</ul>\n";
    } else {
        // Wenn keine Datensätze gefunden, dann Meldung ausgeben
        echo "<br>Es konnten keine Navigations-Elemente gefunden werden!";
    }
}

print navigation("1", "Hauptmenu", "menu");
print navigation("2", "Topmenü", "top");
print navigation("3", "Footermenü", "footer");
?>

Code:
CREATE TABLE `navigation` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `name` varchar(100) collate latin1_general_ci NOT NULL,
  `title` varchar(100) collate latin1_general_ci NOT NULL,
  `link` varchar(100) collate latin1_general_ci NOT NULL,
  `position` int(11) NOT NULL,
  `pruef` int(11) NOT NULL default '1',
  `order` int(11) NOT NULL,
  `date` timestamp NOT NULL default CURRENT_TIMESTAMP,
  PRIMARY KEY  (`id`)
);

In der mysql.inc.php wird nur die Verbindung zur Datenbank hergestellt.

MFG bertiSR
 
Zuletzt bearbeitet:
Zurück