If Abfrage

OllyP234

Grünschnabel
Hallo zusammen.
ich hänge irgendwie fest und komme einfach nicht weiter.

Ich baue mir gerade ein Script wo nur bestimmte Usergruppen Zugang haben sollten.

PHP:
$user =& JFactory::getUser();
 if (!$user->guest) {
   $mod    = $user->gid;

if(!$mod == "19" || !$mod == "20" || !$mod == "21" || !$mod == "23" || !$mod == "24" || !$mod == "25" || !$mod == "30") {
// nicht geschützter bereich
} else {
// geschützter bereich
}

Dieses hier klappt auch prima.
Nun ist mir im Kopf gekommen, dass ich jedes mal wenn ich eine neue Usergruppe
erstellen möchte diese php Datei erneuern muss.

Ich habe mir gedacht, dieses aus einer Datenbank ab zu fragen welche Gruppen Zugangsrechte besitzen.

Beispiel Datenbank setting Datenbankname modrechte als spalte.
In der Spalte sollte dann die entsprechenden Zahlen stehen wie 19, 20, 21, 23, 24, 25, 30

Meine Frage ist jetzt, wie schreibe ich die Datenbankabfrage und die if Abfrage?
Solche Abfragen habe ich noch nicht geschrieben.

Danke schon einmal im voraus.

Grüße

Olly
 
Also du willst eine Tabelle in der pro Zeile eine Gruppe steht.

tbl_groups:
| mod |
19
20
21
..

SQL:
$sql = "SELECT mod
		FROM groups
		WHERE mod = {$mod};";
$res = mysql_query($sql);
if (mysql_num_rows($res) == 0){
	// keine Übereinstimmung
} else {
	//treffer
}

Wennd u jedoch die Nummern alle mit Komma getrennt in ein Feld schreiben willst, musst du mit einem String-Verglech arbeiten. Davon ist aber abzuraten
 
Zuletzt bearbeitet von einem Moderator:
Wennd u jedoch die Nummern alle mit Komma getrennt in ein Feld schreiben willst, musst du mit einem String-Verglech arbeiten. Davon ist aber abzuraten

Genau so hatte ich es gedacht die Nummern getrennt in ein Feld zu schreiben.
Kannst du mir sagen warum davon abzuraten ist, dieses durch einen String-Vergleich abzuarbeiten.
Ich merke selber jetzt, dass ich noch immer Anfänger bin in php. :eek:
Danke schon mal.

Grüße

Olly
 
Zurück