ich bin gerade am knispeln, wie man ein dyn. Menue aus einer DB erstellt. Dabei fallen ja Seiten weg, andere kommen hinzu; und eine Reihenfolge (welche auch immer) sollte auch eingehalten werden.
Dazu habe ich vorab nachstehende Tabelle aufgebaut.
- Code: Select all
# phpMyAdmin SQL Dump
# version 2.5.7-pl1
# http://www.phpmyadmin.net
#
# Host: localhost
# Erstellungszeit: 27. Dezember 2005 um 17:11
# Server Version: 4.0.21
# PHP-Version: 5.0.1
#
# Datenbank: `test`
#
# --------------------------------------------------------
#
# Tabellenstruktur für Tabelle `hp_menu`
#
CREATE TABLE `hp_menu` (
`hp_btn_name` varchar(50) NOT NULL default '',
`hp_link` varchar(50) NOT NULL default '',
`hp_text_btn` enum('yes','no') NOT NULL default 'yes',
`hp_icon1` varchar(255) default NULL,
`hp_level` smallint(6) NOT NULL default '0',
`hp_prior_hp_name` varchar(50) NOT NULL default '',
`comment` varchar(255) default NULL,
PRIMARY KEY (`hp_prior_hp_name`,`hp_btn_name`)
) TYPE=MyISAM;
#
# COMMENTS FOR TABLE `hp_menu`:
# `comment`
# `HelpText`
# `hp_btn_name`
# `Bezeichnung des Buttons`
# `hp_icon1`
# `if hp_text_btn = no`
# `hp_level`
# `0=Top/Main, 1,2,3.. Sublevel`
# `hp_link`
# `welche Seite gehört dazu`
# `hp_prior_hp_name`
# `für die Reihenfolge. Darf nicht leer sein`
# `hp_txt_btn`
# `'NO' wenn GraphicsButtons`
#
#
# RELATIONS FOR TABLE `hp_menu`:
# `hp_prior_hp_name`
# `hp_menu` -> `hp_btn_name`
#
#
# Daten für Tabelle `hp_menu`
#
INSERT INTO `hp_menu` (`hp_btn_name`, `hp_link`, `hp_text_btn`, `hp_icon1`, `hp_level`, `hp_prior_hp_name`, `comment`) VALUES ('Home', 'home.php', 'yes', NULL, 0, 'NULL', 'Homepage-Button'),
('Wir über uns', 'wir_ueber_uns', 'yes', NULL, 0, 'Home', 'Persönliche Angaben'),
('Vorstand', 'vorstand', 'yes', NULL, 1, 'Wir über uns', 'Text Vorstand'),
('Seite1', 'Seite 1', 'yes', NULL, 0, 'Home', 'Seite 1'),
('Seite 2', 'Seite 2', 'yes', NULL, 0, 'Seite1', 'Seite 2');
Man könnte jetzt ein Array erzeugen, in dem alle aktiven Buttons vorhanden sind, aber ein Verschieben der Position eines Buttons ist ausgesprochen schwierig.
Mit welcher Philosophie kann man hier arbeiten?
Es führen ja bekanntlich viele Wege zu Ziel
Ich habe hier eine Hilfstabelle angelegt mit nur einem SET-Feld, welches mit
- Code: Select all
$sql = 'ALTER TABLE `hp_menu_table` CHANGE `hp_menu_table` `hp_menu_fld` SET( \'Home\', \'Seite 1\', \'Seite 2\', \'Seite 3\', \'Wir über uns\', \'Vorstand\') NOT NULL ';
Jürgen