TripleD Geschrieben 20. April 2004 Teilen Geschrieben 20. April 2004 Hallo zusammen, ich hab vor ein Menü mit PHP und mySQL zu programmieren. Es läuft auch alles schon einigermaßen. So siehts aus: Haupt 1 -> Unter 1 -> Unter 2 -> Unter 3 -> Unter 1 -> Unter 2 -> Unter 3 -> Unter 1 -> Unter 2 -> Unter 3 Haupt 2 -> Unter 1 -> Unter 2 Haupt 3 -> Unter 1 . . . So sollte es aussehen: Haupt 1 -> Unter 1 -> Unter 2 -> Unter 3 Haupt 2 -> Unter 1 -> Unter 2 Haupt 3 -> Unter 1 . . . Wenn jemand den Quellcode brauch, einfach melden. Setz ihn dann rein. Hoffe mir kann jemand helfen. Gruß TripleD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 20. April 2004 Teilen Geschrieben 20. April 2004 Hi, dann lösche doch: ... ... ... -> Unter 1 -> Unter 2 -> Unter 3 -> Unter 1 -> Unter 2 -> Unter 3 Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TripleD Geschrieben 21. April 2004 Autor Teilen Geschrieben 21. April 2004 Und wie soll ich das löschen? Die einträge sind alle nur einfach drin. Es muss irgendwo im Code liegen. TripleD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tobias-digital Geschrieben 21. April 2004 Teilen Geschrieben 21. April 2004 Hi! wie wär's wenn Du den Code einfach mal postest? Dann könnten wir den Fehler auch finden. Aber ich kann natürlich auch mal raten: Möglicherweise ists ja ein Bug in PHP... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 21. April 2004 Teilen Geschrieben 21. April 2004 Der Quellcode wäre hilfreich... joa... Also sieht irgendwie so aus als ob der da aus einer Schleife nicht rausspringt, sondern die noch 2 mal durchläuft bevor die Abbruchbedingung zutrifft. Weshalb kann ich natürlich ohne den Quellcode auch nicht sagen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MasterC Geschrieben 21. April 2004 Teilen Geschrieben 21. April 2004 Könnte auch sein, dass jemand dein HTTP abhört und die Daten manipuliert, um dich zu ärgern. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 21. April 2004 Teilen Geschrieben 21. April 2004 Höchstwahrscheinlich ist einfach deine Schleife bei der Menüdarstellung leicht fehlerhaft, aber den Code bräuchte man trotzdem mal bitte. Gruß Patrick Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MasterC Geschrieben 21. April 2004 Teilen Geschrieben 21. April 2004 Hab noch ne Möglichkeit!!! Der Inhalt der Datenbank ist falsch und der Quellcode dafür richtig. Also, mal her mit dem Code und dem Datenbank-Design. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TripleD Geschrieben 22. April 2004 Autor Teilen Geschrieben 22. April 2004 Hi, hier mein Quelltext der Abfrage: <?php include('zugang_loc.php'); $dbname="artikel"; function abfrage($id) { global $dbname, $PHP_SELF, $clicked, $ausgabe; $query=mysql_query("SELECT * FROM $dbname WHERE sid='$id'"); while($row=mysql_fetch_array($query)) { echo "<li><a href=$PHP_SELF?open=$row[link]&clicked=$row[id]>$row[bez]</a></li>"; $showthis = 0; $query2=mysql_query("SELECT id FROM $dbname WHERE sid='$row[id]'"); while($row2=mysql_fetch_array($query2)) { if (isset($clicked) && $clicked=="$row[id]") $showthis=1; $ausgabe .= "<ol>"; $ausgabe .= abfrage($row[$id]); $ausgabe .= "</ol>"; } if ($showthis == 1) echo $ausgabe; $ausgabe = ""; } } abfrage("0"); //erstaufruf ?> Gruß TripleD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TripleD Geschrieben 22. April 2004 Autor Teilen Geschrieben 22. April 2004 . Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 22. April 2004 Teilen Geschrieben 22. April 2004 Hier ist nur die Funktion, kannst du noch Posten von wo die funktion aufgerufen wird. Oder übersehe ich dies gerade ? Gruß Patrick Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TripleD Geschrieben 22. April 2004 Autor Teilen Geschrieben 22. April 2004 Diese Abfrage wird in die "menu.php" includiert. TripleD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MasterC Geschrieben 22. April 2004 Teilen Geschrieben 22. April 2004 Vielleicht solltest du zwischen den Abfragen mal mysql_freeResult machen, ist allerdings nciht umbedingt nötig. Es ist ja schön jetzt mit dem Quelltext, aber eine Beschreibung deiner Datenbank wär trotzdem nicht schelcht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TripleD Geschrieben 22. April 2004 Autor Teilen Geschrieben 22. April 2004 Ich hab grad noch ein Problem entdeckt, und zwar wird die Seite, auf di verlinkt wird nicht angezeigt. Gruß TripleD PS: Bin am verzweifeln. Geb das ding bald auf. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TripleD Geschrieben 22. April 2004 Autor Teilen Geschrieben 22. April 2004 Was brauchst den genau von der Datenbank? Wie sie aufgebaut ist, oder mit Daten? Kannst dir das ding auch online anschauen, wenn dir das was hilft. TripleD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MasterC Geschrieben 22. April 2004 Teilen Geschrieben 22. April 2004 Beschreib mal bitte deine Tabelle Artikel, also welche Felder es da gibt und wozu sie gut sind. Hab mir deine funktion abgeguckt: Du hst da 2 Variablen $row und $row2. $row benutzt du auch, aber $row2 iterierst du nur, die Werte der Abfrage nutzt du nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TripleD Geschrieben 22. April 2004 Autor Teilen Geschrieben 22. April 2004 Aha, und muss das ganze dann richtig heißen? Kannst du mir da vieleicht weiterhelfen? Hier mal meine Tabelle: id -> vortlaufend (ist ja normal das man soeine hat, oder?) sid -> für die zuweisung (Kategorie [0] -> SubKategorie1[0]...) bez -> bezeichnung des Links / Name link -> was geöffnet werden soll Hoffe das hielft dir, ansonsten kopier ich dir meine Tabelle mal hier rein. TripleD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 22. April 2004 Teilen Geschrieben 22. April 2004 Zwei Fragen: 1. hast du deine Haupt- und Unterkategorien in einer Spalte stehen ? 2. Benutzt du die ID zum zählen ? Du musst keine ID anlegen. Gruß Patrick Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MasterC Geschrieben 22. April 2004 Teilen Geschrieben 22. April 2004 Ok, ich glaub, ich hab verstanden woran es gelegen hat bei deinem Code! Du machst in deinem Aufruf eine Rekursion bei jder Subkategorie der gewählten Kategorie. Wenn deine Kategorie 3 Subkategorien aht dann machst du 3 Rekusionen, statt einer pro Kategorie. Du hast also einfach die Rekursion an der falsche stelle gehabt. Sie muss direkt im Anschluss an die 2. while-Schleife, siehe unten. <?php include('zugang_loc.php'); $dbname="artikel"; function abfrage($id) { global $dbname, $PHP_SELF, $clicked, $ausgabe; $query=mysql_query("SELECT * FROM $dbname WHERE sid='$id'"); while($row=mysql_fetch_array($query)) { echo "<li><a href=$PHP_SELF?open=$row[link]&clicked=$row[id]>$row[bez] </a></li>"; $showthis = 0; $query2=mysql_query("SELECT id FROM $dbname WHERE sid='$row[id]'"); while($row2=mysql_fetch_array($query2)) { if (isset($clicked) && $clicked=="$row[id]") $showthis=1; } if ($showthis == 1) { echo "<ol>"; abfrage($row[$id]); echo= "</ol>"; echo $ausgabe; } } } abfrage("0"); //erstaufruf ?> [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TripleD Geschrieben 22. April 2004 Autor Teilen Geschrieben 22. April 2004 Hi, wie meinst du das mit Haupt- / Unterkategorie? Gehst du von der Datenbank aus? TripleD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TripleD Geschrieben 22. April 2004 Autor Teilen Geschrieben 22. April 2004 Erst mal danke. Es klappt jetzt soweit mit dem Menü. 1. Was muss ich jetzt noch machen, damit sich das Untermenü nicht schließt, wenn ich auf einen eintrag klicke? 2. Wie bekomme ich das hin, damit sich in nem anderen Frame, die Seite öffenet, die unter dem Eintrag hinterlegt ist? Wenn das alles klappt lass ich euch in Ruhe. Gruß TripelD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 22. April 2004 Teilen Geschrieben 22. April 2004 Wie meinst du das: 1. Was muss ich jetzt noch machen, damit sich das Untermenü nicht schließt, wenn ich auf einen eintrag klicke? Möchtest du das deine Auswahl bestehen bleibt ? Gruß Patrick Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TripleD Geschrieben 22. April 2004 Autor Teilen Geschrieben 22. April 2004 Ja, das Untermenü soll so lange bestehen bleiben, bis ich auf einen anderen Obermenüpunkt klicke. TripleD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Patrick.Karre Geschrieben 22. April 2004 Teilen Geschrieben 22. April 2004 Stelst du die Untermenüs mit einem DropDown-Menü dar ? Wenn ja, gibt es einen Tread von mir indem das alles beantwortet ist. Den Tread findest du hier: http://forum.fachinformatiker.de/showthread.php?s=&threadid=61760 Als Link: Klicke hier Gruß Patrick Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TripleD Geschrieben 22. April 2004 Autor Teilen Geschrieben 22. April 2004 Nein, sind einfach nur links untereinander. Nichts mit DropDown und sowas. TripleD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.