phpbar.de logo

Mailinglisten-Archive

[php] Rechteverwaltung

[php] Rechteverwaltung

Roland Tapken php_(at)_phpcenter.de
Wed, 27 Feb 2002 14:48:58 +0100


Hi!

> > Quasi das Gegenteil von "WHERE level LIKE '$level%'", ungef?hr etwas
> > wie"WHERE level% LIKE '$level'".
> WHERE level | '%' LIKE '$level' ?

Nein, das führt nicht zum gewünschten Ergebnis. Um genau zu sein: Es führt
zu gar keiner Ausgabe... Was sollte es denn bewirken?

Damit es deutlicher wird:

Tabelle user_level
user   level
----   -----
01     site
02     site/news
04     site/news/post
04     site/news/edit
05     site/news/post
05     site/news/edit
07     site/guestbook
08     site/forum/post
09     irgendwas/anderes
...

Also wenn das Script nun nach site/news/post fragt möchte ich die User
bekommen, die für eine übergeordnete Kategorie registriert sind, also in
diesem Fall die Benutzer 01, 02, 04 und 05, nicht jedoch 07, 08 und 09.

Mein PHP-Ansatz wäre es, die gefragte Ebene an dem '/' zu splitten und
dann in einer schleife alle Ebenen nacheinander abzufragen:

$levels = split('/', 'site/news/post');
$user = array();
$tmp = '';
foreach($levels AS $level) {
    $tmp .= '/'.$level;
    $user = array_merge($user, get_user_by_level($tmp);
}

Viel genialer wäre es jedoch wenn ich das ganze direkt in den mysql-query
einbauen könnte.




cu, Roland Tapken
-- 
<========{ tapken_(at)_engter.de }========>
    /"\                          
    \ /  ASCII ribbon campaign
     X   against HTML mail
    / \  and postings  
<========={ ICQ#: 18715473 }=========>


php::bar PHP Wiki   -   Listenarchive