DyN NaviGation!

alternativ :

du hängst einfach eine ID an deinen
URL an (oder übergibst sie halt
wie du magst) die dem einzelnen
User zugeordnet wird.

Daß heißt du hast die Daten für
jeden Nutzer und jeder Nutzer hat
eine ID die ihn identifiziert.

Jetzt nehmen wir eine weitere Tabelle
in der wir für jeden Nutzer eigene
Rechte speichern (als Boolean True/False)

Ruft Nutzer 1 jetzt seine Mailbox
(oder was auch immer) auf, fragen
wir seine individuellen Rechte aus
der Tabelle ab und lesen abhängig
von ihnen das Menü auf.

Bsp. für die beiden Tabellen :

nutzer
id
nickname
passwort
geburtstag

rechte
id
mail_flag
news_flag
recht_flag
artikel_flag

Dieses System (bei dem mehrere Tabellen
in einer Abfrage angesprochen werden)
nennt man "Relational". Bei unserem
Beispiel würde die Userid als Identifikation dienen. Also wäre die ID
aus "Rechte" gleichzusetzten mit der ID
aus "Nutzer".

"SELECT * FROM nutzer, rechte WHERE nutzer.id=rechte.id"

http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/chap6.htm
http://www.biblio.tu-bs.de/allegro/a-r.htm

Begriffen ?

Jonathan
 
Okay erstmal danke Leute für die Hilfe !!
Ich habs nun folgendermassen gelöst bzw bin erst zu 50 % bei dem was ich erreichen möchte!

Ich habe in der db nun 3 tables angelegt,

nav
----
nav_id
parent_id
description
href

nav2userids
------------
nav_id
user_id

users
-----
... tabelle mit den login daten...

so als erstes lasse ich die daten über die funktion menü auslesen und als link darstellen. alles aus einer mysql datenbank.

So nun sind wir wieder da was eigentlich der wesentliche teil ist, in der sql db stehen nun die allgemeinen links die jeder user zu sehen bekommt (href, description)´.

Wenn der link z.b test heisst, wie bekomme ich das nun hin das wenn user1 sich einloggt (user_id = 1) das er dann z.b $sql = "select from user1..." ausführt wenn er auf den link test klickt ?

Bei user2 sollte er nen anderen querry auf den gleichen link aus der db ausführen bsp (user_id= 2) $sql = "select from user2..."

Wie ist das möglich ?!
Wie du beschrieben hast jonathan anhand der id okay, toolkit hat ebenfalls ne gute lösung , wenn ich nun die ca 11000 querry strings fuer jeden user einzeln in die eine datei schreiben würde, if($user_id = 1 ) { link x = mysql_query... , link xy = mysql_query...

das würden dann ziemlich viele sql abfragen werden in einer datei und ich bräuchte die href spalte in der db doch garnet ?! mhh?

ne idee ?!
*wart* gfx
 
Zuletzt bearbeitet:
da kommen wir der sache schon näher ! ;)
so ich hab mal nen bisschen rumprobiert und bin zum entschluss gekommen das ein datei basiertes menüsystem in meinem fall mehr bringt als wenn ich die menülinks in die db schreibe :p!

Hier mal ein Link wo ein Platzhalter gesetzt werden muss.
PHP:
$submenu->add('2003', 'sql_str.php?user_id=$user_id', 'mainFrame');

in der folgenden Datei, soll überprüft werden welcher sql query ausgeführt werden soll ( Je nach User wer sich eingeloggt hat ).

also muss der code so aussehen, wenn user 1 sich einloggt und auf den link 2003 klickt wird sein sql query ausgeführt, bei user2 dementsprechend seiner..!

@ Toolkit du sagst per ID Abfrage bzw per Switch funktion,
könntest du mal ne bsp Anweisung schreiben? danke!

ps:
wegen der sicherheit wenn man dies ueber switch ermöglicht, bräuchte doch nur ein anderer kunde ne anderer user id an den url string anhängen und schon würde der dem inhalt des anderen kunden sehen oder ? ausser man registriert vorher ne session auf seine kdn zugeschnitten ;) .

*wartet wieder gg*
gfx
 
Was die Sache mit Get angeht.
Klar,das muss man noch besser schützen zb. die Variable iner Session speichern.

switch($user_id)
{
case 1:query();
break;
case 2:query();
break;
}
 
Sowas in der Art hab ich mir auch schon gedacht ;) ! Aber in der Abfrage haben wir folgendes Problem, auf der Vorseite befindet sich das menü, das jeder user sieht (alle die gleichen links).

Das Problem jeden link soll je nach user ein anderer sql string zugeordnet werden.

Lösugsansatz:

- wir machn die datei mit den strings required fuer die menü datei.
- es bleibt aber folgendes Problem

Ein Menülink :
PHP:
$submenu->add('2003', 'sql_str.php?user_id=$user_id', 'mainFrame');

Jeder User sieht also 2003 als link (aus der datei bsp menu.php),
der verweist auf die datei sql_str.php , in dieser soll geprüft werden welche strings ausgeführt werden wenn der u der kunde mit der id x klickt.

also haben wir folgende abfrage;
PHP:
switch($user_id) 
{ 
case 1:query(); 
break; 
case 2:query(); 
break; 
}

wie ordnen wir dieser abfrage das denn nun zu, das wenn kunde 1 mit id = 1 klickt auch der string fuer den link 2003 ausgeführt wird ?????????
weil momentan wird nen allgemeiner string ausgeführt wenn kunde 1 mit id = 1 dann mysql_query... wie man oben in der case anweisung mit 1 sieht. Nur das nun auf den link 2003 ? wie ? danke gfx


*hofft auf hilfe*
 
Zurück