Zurück   klamm-Forum > Virtual World > Programmierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03.04.2011, 18:30:00   #1 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard Menutabelle - Menupunkte ausblenden

Hi,

hier mal ein Ausschnitt der Tabelle



Uploaded with ImageShack.us

ich will gern alles mit parent_id=7, id=7 und id=10 ausblenden, da das an eine andere Stelle der Seite kommt und nicht mit ins Menu soll.

Gibt es da evtl. noch eine bessere Lösung als mit WHERE id NOT IN (7,10) AND parent_id != 7, um diese Punkte auszublenden? In der Umkehrung muss ich ja später alle Menüpunkte ausblenden, die ich jetzt einblende. Ich würde gern alles etwas zusammenfassen, also Gruppen machen, dann würden alle id von obe eine Gruppe haben. Ist das sinnvoll?
Es gbt ja auf der Seite eine Usermenu, Hauptmenu und eins für Metanavi.
baserider ist offline   Mit Zitat antworten
Gesponsorte Links
Alt 03.04.2011, 19:46:17   #2 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Mach halt n Visible-Flag rein.

Für Gruppen ne neue Tabelle plus FK in deine aktuelle Tabelle rein. Dann kannst du auch einer Gruppe n Visible-Flag zuordnen.

Ob das sinnvoll is? - musst du wissen, is keine Frage von Sinn oder Unsinn, sondern was du haben willst
theHacker ist offline   Mit Zitat antworten
Alt 03.04.2011, 19:57:50   #3 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard

Hi,

wofür is das Flag gut?
Hab das nun mal mit ner neuen Tabelle für die Gruppen gemacht, und nun muss ich nur noch die id der entsprechenden Gruppe abfragen und nicht so umständlich wie vorher :-)

Wenn ich also die Hauptnavi anzeigen lassen will, wird auf die Gruppe Hauptnavi gefiltert usw...
baserider ist offline Threadstarter   Mit Zitat antworten
Alt 03.04.2011, 20:02:41   #4 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Zitat:
Zitat von baserider Beitrag anzeigen
wofür is das Flag gut?
Für das, was du haben willst?
Du hast gefragt, wie man es machen könnte. Ich hab dir diesen Vorschlag gemacht.
theHacker ist offline   Mit Zitat antworten
Alt 03.04.2011, 20:11:26   #5 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard

Hi,

hatte es ja auch nich böse gemeint .-)
aber mit dem Flag wird doch dann immer etwas auf sichtbar / unsichtbar gesetzt oder?
Ich will ja nur an der jeweiligen stelle die richtige gruppe anzeigen, das klappt eigenltich mit der abfrage ganz gut, da ich a imer die entsprechende id für die abfrage benutze
baserider ist offline Threadstarter   Mit Zitat antworten
Alt 03.04.2011, 20:29:15   #6 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Zitat:
Zitat von baserider Beitrag anzeigen
aber mit dem Flag wird doch dann immer etwas auf sichtbar / unsichtbar gesetzt oder?
So hab ich deine Frage zumindest verstehen. Falls du was anderes vorhast, klär mich auf, dann hab ichs nicht kapiert
theHacker ist offline   Mit Zitat antworten
Alt 03.04.2011, 20:35:04   #7 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard

ich habe eine menutabelle mit allen links. nun gibt es 3 bereiche und je nach bereich sollen andere links angezeigt werden. die hauptnavi = gruppe1, metanavi = gruppe2 und usernavi (nach einloggen) = gruppe3

in jedem bereich lese ich eine andere gruppe aus. Dafür schreibe ich mir einfach die id der gruppe in die abfrage
baserider ist offline Threadstarter   Mit Zitat antworten
Alt 03.04.2011, 20:39:24   #8 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Achso. Ok, kapiert

Dann versiehst du jeden Menüeintrag mit einem Enum-Value, wie schon in Post #2 vorgeschlagen. Du kannst dir dann aber die extra Tabelle sparen.
Da du eine Baumstruktur hast, musst du dir nur überlegen, was für dich cleverer is:
  • nur den Root-Knoten einer Gruppe markieren
  • alle Knoten einer Gruppe markieren
theHacker ist offline   Mit Zitat antworten
Alt 03.04.2011, 20:44:39   #9 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard

Hi,

achso du meinst in die Menütabelle noch ne Spalte z.B. menuart wo dann drinsteht 'usermenu', 'hauptmenu','metamenu' ?

da hast du recht, dann kann ich die tabelle rauswerfen. eigentlich sollten dann alle knoten markiert werden, dann kann ich einfach in der abfrage filtern: WHERE menuart = ....
baserider ist offline Threadstarter   Mit Zitat antworten
Alt 03.04.2011, 20:54:47   #10 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Zitat:
Zitat von baserider Beitrag anzeigen
achso du meinst in die Menütabelle noch ne Spalte z.B. menuart wo dann drinsteht 'usermenu', 'hauptmenu','metamenu' ?
Richtig. Kostet nur 2 Bit. Und da dies ja quasi eine "Systemeigenschaft" is, können auch keine weiteren Typen mehr hinzukommen.
Zitat:
Zitat von baserider Beitrag anzeigen
eigentlich sollten dann alle knoten markiert werden, dann kann ich einfach in der abfrage filtern: WHERE menuart = ....
Dürfte wohl am besten sein, weil nur das Root-Element holen und durchhangeln zieht ne Menge an Folgeabfragen nach sich. So holst du alles und baust den Baum dann in Ruhe in der Anwendung auf. Navigation ändert sie wohl eh ned häufig, drum machst du das wohl eh nur einmal; danach würd sich n Cache anbieten.
theHacker ist offline   Mit Zitat antworten
Alt 03.04.2011, 20:59:43   #11 (permalink)
Erfahrener Benutzer

ID: 174417
Lose-Remote

Reg: 10.03.2007
Beiträge: 666
baserider befindet sich auf einem aufstrebenden Ast
Standard

hi,

ich danke die wie sau :-)

Achja, wann sollte man denn so einen enum Wert nehmen und wann eine Extra-Tabelle mit Gruppen? Ich benötige diese Gruppen ja in diesem Fall gar nicht, daher leuchtet das enum-Feld ein :-)

Wenn ich aber zum Beispiel einen Menüpunkt in 2 Bereichen anzeigen lassen will (z.B. Impressum im Hauptmenü und Metamenu), dann ist anscheind die Datenbank besser oder?
baserider ist offline Threadstarter   Mit Zitat antworten
Alt 04.04.2011, 07:11:45   #12 (permalink)
bekämpft die Mächte des Bösen
Benutzerbild von theHacker

ID: 69505
Lose-Remote

theHacker eine Nachricht über ICQ schicken theHacker eine Nachricht über AIM schicken theHacker eine Nachricht über MSN schicken theHacker eine Nachricht über Yahoo! schicken theHacker eine Nachricht über Skype™ schicken
Reg: 20.04.2006
Beiträge: 20.468
theHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes AnsehentheHacker genießt hohes Ansehen
Standard

Zitat:
Zitat von baserider Beitrag anzeigen
Achja, wann sollte man denn so einen enum Wert nehmen und wann eine Extra-Tabelle mit Gruppen? Ich benötige diese Gruppen ja in diesem Fall gar nicht, daher leuchtet das enum-Feld ein :-)
Grundsätzlich is das Design bei sowas immer:
  • Tabelle Menüpunkte
  • Tabelle Gruppe
  • 1:N-Beziehung zwischen beiden
Wenn du jetzt aber keine echten Gruppen hast, weil das alles fest im System verankert is, kannst du dir die Gruppentabelle natürlich sparen.
Zitat:
Zitat von baserider Beitrag anzeigen
Wenn ich aber zum Beispiel einen Menüpunkt in 2 Bereichen anzeigen lassen will (z.B. Impressum im Hauptmenü und Metamenu), dann ist anscheind die Datenbank besser oder?
Dann müsstest im Moment du den Menüpunkt unschön einfach doppelt eintragen.

Alternative wäre die M:N-Beziehung, wo du dir natürlich die zweite (von den dreien) Tabelle wieder sparen kannst. Die dritte Tabelle hätte dann keine Kombination aus zwei FKs, sondern nur einen FK und die Enum-Spalte, die die Gruppe des Menüpunkts angibt.
theHacker ist offline   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Geschlossese Themen ausblenden AlexWue Verbesserungsvorschläge 2 16.03.2008 16:27:44
[PHP] Ausblenden bestimmter SQL-Einträge Papenburger Programmierung 1 25.02.2008 17:15:21
Renowaage ausblenden Requiem Verbesserungsvorschläge 24 09.04.2007 16:46:45
[JS] Selectboxen ein-/ausblenden doped Programmierung 2 07.04.2007 16:23:58
[JS/CSS] Bilder einblenden/ausblenden flaschenkind Programmierung 9 25.07.2006 11:47:44


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:57:56 Uhr.