locomputing
Menüs
Ein Menü kann mit mehreren möglichkeiten gestaltet werden.
Für diese Menüs wird immer ein php-Server benötigt!
Ein einfaches html Menü
index.php
  1. Link 1
  2. <a href = "seite2.php"> Link 2 </a>
  3. <a href = "seite3.php"> Link 3 </a>
Dieses Menü, muß angepasst und auf jeder Seite eingefügt werden!
Ein php Menü ganz ohne DatenBank
menu.php
<?php
  1. $menu = array
  2. (
  3. " Link 1 " = > array ( " index.php ? page = seite1 " ) ,
  4. " Link 2 " = > array ( " index.php ? page = seite2 " ) ,
  5. " Link 3 " = > array ( " index.php ? page = seite3 " ) ,
  6. );
  7. $uri = basename ( getenv ( " REQUEST_URI " ) ) ;
  8. foreach ( $menu as $main = > $mainlink )
  9. {
  10. $x = count ( $mainlink );
  11. if ( $mainlink [ 0 ] = = $uri & & $x = = 1 )
  12. {
  13. echo $main;
  14. }
  15. else if ( $x = = 1 )
  16. {
  17. echo ' <a href = " ' . $mainlink [ 0 ] . ' "> ' . $main . ' </a> ' ;
  18. }
  19. }
?>
Dieses Menü ist gut geeignet für ein separates Menü.
Ein Menü mit csv Datenbank
dbmenu.db
   id   name    ziel
   1 | Link 1 | seite1
   2 | Link 2 | seite2	
   3 | Link 3 | seite3
menu.php
<?php
  1. if ( ( $handle = fopen ( " dbmenu.db " , " r " ) ) ! = = false )
  2. {
  3. while ( ( $data = fgetcsv ( $handle , 1000, " | " ) ) ! = = false )
  4. {
  5. if ( ( $page) = = $data [ 2 ] )
  6. {
  7. echo $data [ 1 ] ;
  8. }
  9. else
  10. {
  11. echo ' <a href = " index.php ? page = ' . $data [ 2 ] . ' "> ' . $data [ 1 ] . ' </a> ' ;
  12. }
  13. }
  14. fclose ( $handle ) ;
  15. }
?>
Dieses Menü ist gut geeignet für ein separates Menü.
Ein Menü mit SQL Datenbank
Datenbank Tabelle
  1. CREATE TABLE menue (
  2. id int ( 5 ) NOT NULL AUTO_INCREMENT ,
  3. name varchar ( 50 ) NOT NULL ,
  4. ziel varchar ( 50 ) NOT NULL ,
  5. PRIMARY KEY ( id ) ) ;

  6. INSERT INTO menue VALUES ( 1 , ' Link 1 ' , ' seite1 ' ) ;
  7. INSERT INTO menue VALUES ( 2 , ' Link 2 ' , ' seite2 ' ) ;
  8. INSERT INTO menue VALUES ( 3 , ' Link 3 ' , ' seite3 ' ) ;
menu.php
<?php
  1. if ( file_exists ( ' db_conect.php ' ) = = true )
  2. {
  3. require ( ' db_conect.php ' ) ;
  4. }
  5. $stmt = $sqli -> prepare ( " SELECT id , name , ziel FROM menue " ) ;
  6. $stmt -> execute ( ) ;
  7. $result = $stmt -> get_result ( ) ;
  8. while ( $data = $result - > fetch_assoc ( ) )
  9. {
  10. if ( ( $page ) == $data [ " ziel " ] )
  11. {
  12. echo $data [ " name " ] ;
  13. }
  14. else
  15. {
  16. echo ' <a href = " index.php?page = ' . $data [ " ziel " ] . ' "> ' . $data [ " name " ] . ' </a> ' ;
  17. }
  18. }
  19. $sqli - > close ( ) ;
?>
<?php
  1. if ( file_exists ( ' db_conect.php ' ) = = true )
  2. {
  3. require ( ' db_conect.php ' ) ;
  4. }
  5. $stmt = $pdo -> prepare( " SELECT id , name , ziel FROM menue " ) ;
  6. $stmt -> execute( ) ;
  7. while ( $data = $stmt -> fetch ( ) )
  8. {
  9. if ( ( $page ) = = $data [ " ziel " ] )
  10. {
  11. echo $data [ " name " ] ;
  12. }
  13. else
  14. {
  15. echo ' <a href = " index.php?page = ' . $data [ " ziel " ] . ' "> ' . $data [ " name " ] . ' </a> ' ;
  16. }
  17. }
  18. $pdo = null ;
?>
Dieses Menü ist gut geeignet für ein separates Menü.
Ein CSS Sub-Menü
index.php
  1. Link 1
  2. < a href = " seite2.php " > Link 2 </a>
  3. < a href = " seite2a.php " > Link 2/1 </a>
  4. < a href = " seite2b.php " > Link 2/2 </a>
  5. < a href = " seite3.php " > Link 3 </a>
CSS Sub-Menü, muß angepasst und auf jeder Seite eingefügt werden!
Ein php Sub-Menü ganz ohne DatenBank
menu.php
<?php
  1. $menu = array
  2. (
  3. " Link 1 " = > array ( " index.php?page = seite1 " ) ,
  4. " Link 2 " = > array ( " index.php?page = seite2 " ,
  5. " Link 2a " = > " index.php?page = seite2a " ,
  6. " Link 2b " = > " index.php?page = seite2b " ) ,
  7. " Link 3 " = > array ( " index.php?page = seite3 " ) ,
  8. );

  1. $uri = basename ( getenv ( " REQUEST_URI " ) );
  2. ...
  3. $x = count ( $mainlink );
  4. if ( $mainlink [ 0 ] = = $uri & & $x = = 1 )
  5. {
  6. echo $main;
  7. }
  8. else if ( $x = = 1 )
  9. {
  10. echo ' <a href = " ' . $mainlink [ 0 ] . ' "> ' . $main . ' </a> ' ;
  11. }
  12. ...
?>
Dieses Menü ist gut geeignet für ein separates Menü.