Guten Tag,
in meiner DB steht in der Tabelle "spezialrechte" die rechte die der user auf bestimmte sachen im admin center hat. Das ist so aufgebaut:
id | user_id | rechte | group_id
1 | 48 | seitenerstellen| xxxx
2 | xxxx | menuverwalten | 2
(XXXX) steht für keinen inhalt
so nun mache ich im admin center kurz vor der login überprüfung eine abfrage die alle rechte auslesen soll die der user hat... in dem fall hat der user die id 48 und ist in einer gruppe die die id 2 hat...
das ganze frag ich so ab:
ich weis etz nich genau ob das so stimmt will auf jeden fall eben alle werte nur einmal haben also nicht dass man einmal das recht für seitenerstellen 2mal hat....
gut nun folgt weiter unten das menü und je nachdem was man für rechte man hat sollen eben die menüpunkte angezeigt werden....
dort hab ich eine schleife die menüeinträge aus der db abfrägt...
und in der schleife eine solche foreach...
wie kann ich machen das in value wirklich nur das recht steht weil nun stehen gerade alle einträge drin und auch 2mal obwohl nur eintrag vorhanden ist...
dann würde ich quasi sowas machen if($menueintrag=="value") {echo "Menübearbeiten"; }
wäre schön wenn ihr mir helfen könnt und macht man das so? weil es sind viele menü einträge dass heist für jeden menü eintrag dann eine solche große foreach... geht dass auch anders "schneller" ?
könnte auch für jeden menüeintrag dann ne abfrage starten und abfragen ob der eintrag in der db existiert mit den rechte namen aber das ist auch jeden fall noch langsammer
mfg
in meiner DB steht in der Tabelle "spezialrechte" die rechte die der user auf bestimmte sachen im admin center hat. Das ist so aufgebaut:
id | user_id | rechte | group_id
1 | 48 | seitenerstellen| xxxx
2 | xxxx | menuverwalten | 2
(XXXX) steht für keinen inhalt
so nun mache ich im admin center kurz vor der login überprüfung eine abfrage die alle rechte auslesen soll die der user hat... in dem fall hat der user die id 48 und ist in einer gruppe die die id 2 hat...
das ganze frag ich so ab:
PHP-Code:
$erstab = "SELECT * FROM spezialrechte WHERE user_id='$user_id' OR group_id = '$group_id' GROUP BY rechte";
$spezab = $db->query($erstab) or die(mysql_error());
$userspezrechte = mysql_fetch_array($spezab);
gut nun folgt weiter unten das menü und je nachdem was man für rechte man hat sollen eben die menüpunkte angezeigt werden....
dort hab ich eine schleife die menüeinträge aus der db abfrägt...
und in der schleife eine solche foreach...
wie kann ich machen das in value wirklich nur das recht steht weil nun stehen gerade alle einträge drin und auch 2mal obwohl nur eintrag vorhanden ist...
PHP-Code:
foreach ($userspezrechte as $value)
{
echo $value;
}
wäre schön wenn ihr mir helfen könnt und macht man das so? weil es sind viele menü einträge dass heist für jeden menü eintrag dann eine solche große foreach... geht dass auch anders "schneller" ?
könnte auch für jeden menüeintrag dann ne abfrage starten und abfragen ob der eintrag in der db existiert mit den rechte namen aber das ist auch jeden fall noch langsammer
mfg
Kommentar