Menu mit MySQL

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
bumann
Mitglied
Beiträge: 51
Registriert: 07.10.2002 20:53
Wohnort: Schweiz

Menu mit MySQL

Beitrag von bumann »

Da ich nun begonnen habe (bin aber leider immer noch ein ziemlicher Anfänger) mit MySQL zu arbeiten, möchte ich die Navigation auf meiner Homepage, um später auch eine Adminoberfläche möglich zu machen, mit MySQL machen wie es auf vielen Homepages zu sehen ist. Ich habe dazu eine Tabelle mit den Spalten id(auto_increment, primärschlüssel, index, unique) und url (mit den urls, also z.B. links.php) gemacht. Ist das so richtig?
Falls das so ist: Wie muss ich nun den Link programmieren? Kann mir jemand ein Schema für eine solche Navigtaion oder ein (eingermassen) detaillerte Anleitung geben? Für die weitere Programmierung der Homepage werde ich mich intensiver mit MySQL befassen müssen. Aber ich wäre sehr froh, wenn ich das mit der Navigation diese Wochenende machen könnte!
Noch etwas: Die verschiedenen Seiten sehen bei mit etwas so aus:

<?php
include("header.inc");
?>
INHALT
<?php
include("footer.inc");
?>

Ich hoffe jemand kann, bzw. eher will mir helfen. (Wird ja für MySQL Kenner kein Problem darstllen! :-? )
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

bumann
Mitglied
Beiträge: 51
Registriert: 07.10.2002 20:53
Wohnort: Schweiz

Beitrag von bumann »

ok. Ein wenig hat mir das geholfen. Kann mir jemand jetzt noch sagen wie ich diesen Befehl abändern muss, um auf meine Tabelle (oben beschrieben zuzugreifen? und dann einen Link auf news.php mit der id=auszugeben?

Und für was wird die Variable $suche benötigt?


$suche = "php";
mysql_connect("localhost","user","pwd");
mysql_select_db("datenbank");
$result = mysql_query("SELECT daten.titel,rubriken.rubrikname
FROM daten,rubriken WHERE daten.rubriknr=rubriken.rubriknr
&& daten.text LIKE '%".addslashes($suche)."%'")
or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo "<A HREF=\"datei.php3?titel=$titel\">".$row['titel']."</A>"; echo "(".$row['rubrikname'].")<BR>";
}

Oder einfacher: Was is hier noch falsch?


mysql_connect("localhost","user","pwd");
mysql_select_db("mein Datenbankname");
$result = mysql_query("SELECT menu WHERE id=2)

or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo "<A HREF=\"news.php?id=2\">"News"</A>";
}
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

www.php4-forum.de/mysql_select.htm hat geschrieben:SELECT * FROM gaestebuch Liest die gesamte Tabelle "gaestebuch" aus.
SELECT name,email FROM gaestebuch Liest die Spalten "name" und "email" aus der Tabelle "gaestebuch".
Auf deine Tabelle bezogen wäre das dann SELECT * FROM menu oder SELECT id, url FORM menu
bumann
Mitglied
Beiträge: 51
Registriert: 07.10.2002 20:53
Wohnort: Schweiz

Beitrag von bumann »

Ich habe es jetzt so versucht. Aber das funktioniert anscheinend nicht!

<?php
mysql_connect("localhost","******","******");
mysql_select_db("*******");
$result = mysql_query("SELECT id,url FROM menu)

or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo "<A HREF="news.php?id=2">"News"</A>";
mysql_close();
?>

Müsste ich zuerst die News.php und dei id 2 aus dem Array auslesen?
Wie würde denn das aussehen?
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

bumann hat geschrieben:Müsste ich ...
Du müsstest dir mal die Fehlermeldung angucken, versuchen zu verstehen (meistens steht ne Zeilennummer dabei) und wenn du sie nicht verstehst, dann hier posten. Wenn du immer nur "geht nicht" schreibst, muss ich immer meine Hellseher-Fähigkeiten beanspruchen, und das geht zu dieser späten Zeit nicht mehr so gut.
echo "<A HREF="news.php?id=2">"News"</A>";
Wenn du " ausgeben willst, musst du den kompletten String entweder mit ' anstatt mit " begrenzen oder das " mit \ escapen ( " ): http://de.php.net/manual/de/language.types.string.php

Ausserdem hast du ein Klammer { , aber nicht die dazugehörige schliessende } angegeben.
bumann
Mitglied
Beiträge: 51
Registriert: 07.10.2002 20:53
Wohnort: Schweiz

Beitrag von bumann »

Ja, ok stimmt!
Der Parser zeigt mir immer unexepcted T_STRING an.
Und das in der Zeile des Links. Ich habe schon gemerkt, dass da was nicht stimmt. Aber ich wusste nicht was genau. Jetzt habe ich den Link so gemacht wie du es gesagt hast. Aber ich erhalte den selben parse error.
Und wenn ich zum Test nur echo "irgendetwas" ; schreibe erhalte ich die Fehlermedung unexpected $ in der Zeile nach dem php Skript. Die geschweifte Klammer habe ich schon geschlossen gehabt. Und die php Tags habe ich auch richtig gesetzt.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Wie sieht denn der Code jetzt aus?
bumann
Mitglied
Beiträge: 51
Registriert: 07.10.2002 20:53
Wohnort: Schweiz

Beitrag von bumann »

37 <?php
38 mysql_connect("localhost","","");
39 mysql_select_db("");
40 $result = mysql_query("SELECT id,url FROM menu)
41
42 or die(mysql_error());
43 while($row = mysql_fetch_array($result)) {
44 echo <a href='news.php?id=2'>-News</a>; }
45 mysql_close();
46 ?>
47
48 <a href="actionfilme.php">-Actionfilme</a><br>

Parse error: parse error, unexpected T_STRING in header.inc on line 48

Jetzt zeigt mir der Parser keine Fehlemeldung für line 44 sondern für line 48 an. Aber die sollte doch gar nicht mehr geparst werden, die gehört ja nicht mehr zum php Teil!
Benutzeravatar
jasc
Ehemaliges Teammitglied
Beiträge: 2497
Registriert: 24.05.2001 02:00
Wohnort: Hergensweiler bei Lindau/B

Beitrag von jasc »

bumann hat geschrieben: 40 $result = mysql_query("SELECT id,url FROM menu)
Ähm, wo machst du dieses " wieder zu ? Oder muss das nicht zugemacht werden :-?.
Antworten

Zurück zu „Coding & Technik“