PHP, Anfänger, Frage: Menü
-
Also ich hab da mal ne Frage, ich hab jetzt mal mit PHP angefangen.
Ich hab vor ein Menü zu machen und so mein Ansatz:<html> <head> <title>paranoiac.org - new design</title> <link rel="stylesheet" type="text/css" href="css/main.css"></link> </head> <body bgcolor=#000000> <table bgcolor=#000052 width=100% border=0 valign=center align=center> <tr> <td align=center valign=center colspan=3> <img src="../graphics/paranoiac.org.jpg"><p></p> <img src="../graphics/damn.gif"><p></p> </td> </tr> <tr> <td width=15%> <?php PrintMenu(); ?> </td> <td>MAIN</td> <td>NEWS</td> </tr> </table> </body> </html> <?php function PrintMenu(){ // define colors $clrMain = "#00309C"; $clrSub = "#5275A5"; // define menu entrys $menulist = array(); $menulist[0] = array(); $menulist[0][0] = "Home"; $menulist[0][1] = "Startseite"; $menulist[0][2] = "Kontakt"; $menulist[1] = array(); $menulist[1][0] = "Programmieren"; $menulist[1][1] = "Tutorials"; $menulist[1][2] = "Links"; $menulist[2] = array(); $menulist[2][0] = "Schule"; $menulist[2][1] = "Arbeiten"; $menulist[2][2] = "Downloads"; /////////////// // print out // main for($mm=0; $mm<sizeof($menulist); $mm++){ // begin table echo("<table width=100%>"); // new colum echo("<tr><td bgcolor=".$clrMain.">"); echo("<span id=menu class=\"\"main\"\">"); echo($menulist[$mm][0]); echo("</span>"); echo("</td></tr>"); // sub menus for($sm=1; $sm<sizeof($menulist[$mm]); $sm++){ echo("<tr><td bgcolor=".$clrSub.">"); echo($menulist[$mm][$sm]); echo("</td></tr>"); } echo("</table>"); } } ?>
So ich findes das aber ein wenig schlecht, weil so müsste ich den PHP-Code ja eh in jede Datei einfügen. Also wie macht man das jetzt richtig??
danke!
para
-
Was findest du schlecht bzw. wo genau liegt dein Problem? Damit du den Cod nicht überall mit reinschreiben musst -> includer oder require
-
Ok, danke, dass include hat mir gefehlt...
danke!
-
Ich hab dir mal die PrintMenu-Funktion umgeschrieben, vielleicht gefällt sie dir so besser:
<?php function PrintMenu() { // define colors $clrMain = "#00309C"; $clrSub = "#5275A5"; // define menu entrys $menu[0]["title"] = "Home"; $menu[0]["item"]["Startseite"] = "index.php"; $menu[0]["item"]["Kontakt"] = "kontakt.php"; $menu[1]["title"] = "Programmieren"; $menu[1]["item"]["Tutorials"] = "coding/tutorials.php"; $menu[1]["item"]["Links"] = "coding/links.php"; $menu[2]["title"] = "Schule"; $menu[2]["item"]["Arbeiten"] = "schule/arbeiten.php"; $menu[2]["item"]["Downloads"] = "schule/downloads.php"; foreach($menu as $section) { echo("<table width=100%>"); echo("<tr><td bgcolor='$clrMain'><span id=menu class='main'>".$section["title"]."</span></td></tr>"); // sub menus foreach($section["item"] as $name => $url) { echo("<tr><td bgcolor='$clrSub'><a href='$url'>$name</a></td></tr>"); } echo("</table>"); } } ?>
[ Dieser Beitrag wurde am 28.02.2003 um 17:56 Uhr von flenders editiert. ]
-
ui ui, vielen Dank!
-
Hab da jetzt noch ne Frage zu Tabellen
Ich kann ja angeben: <td height=10%>
Wie kann ich aber machen, das sich das automatisch anpasst. Also so klein wie möglich...cu para
-
häh Lass di Angabe doch einfach ganz weg und dann natürlich auch keine Höhenangabe im <table>-tag
-
Also ich habs halt so:
<html> <head> <title>paranoiac.org - new design</title> <link rel="stylesheet" type="text/css" href="css/main.css"></link> </head> <body bgcolor=#000000> <table bgcolor=#000052 height=100% width=100% border=1 valign=center align=center> <tr> <td align=center valign=top colspan=2> <img src="../graphics/paranoiac.org.jpg"><p></p> </td> </tr> <tr> <td width=15% valign=top> <?php include("sites/menu.php"); ?> </td> <td> <?php include("sites/content.php"); ?> </td> </tr> </table> </body> </html>
Und das mit dem Bild sieht dann aber so aus:
-------------------------------------- | *********************************** | *********************************** | *********************************** | | |------------------------------------- | | |Menü | | | | | | | |--------------------------------------
mmh...
-
Ich hab's doch gesagt: einfach alle height Angabe weglassen (wenn du nicht genau weißt, wie groß sie sein soll
-
Ja habs geschnallt
Dann nochwas, wenn man Datenbankanbindung hat, wöre es dann besser es mit ner Datenbank zu machen?
-
vom editieren oder managen später auf jeden fall, aber natürlich is das dann auch mehr arbeit erstmal connecten, die db wählen, dann noch auslesen...aber es is sicher schneller und besser....auserdem würd ich dir nen template system vorschlagen...ich hab selber schon ne seite in php gemacht und ich finde template systeme deutlich besser, am besten templates die in der DB liegen (das behersch ich aber noch nich so tolle)
-
Tja, leider mach ich erst seit 2 bis 3 Tagen PHP und mySQL und weiss net was n Template ist!
verzähl mal...
danke!
-
also nen template is ne htm(l) datei...das erleichtert dir das differenzieren von php und HTML, dein ganzes HTML zeug kommt in ne index.htm oder so und die wird angezeigt wenn man die index.php aufruft dazu musste aber nen template system benutzen wo du das einbindest, da kannst dann z.B. statt 100 mal deinen header zu schreiben den einmal schreiben und dann einfach in den anderen
<html>
{header}
<body>
und schon haste deinen header, kommt allerdingt immer drauf an welches system du nimmst, als bestes beispiel wie so ne seite mit templates aussieht sind foren (im UBB weis ichs net) kannst dir mal das wbb 1.2 von www.woltlab.de runterladen das hat template system, da siehste mal wie das aufgebaut is etc. (die ham aber kein fertiges system, die ham selber eins "erstellt" über ne function, ich nehm das auch so is super leicht)