Felder einer Tabelle prüfen....

MelcomB56

Mitglied
Hallo liebe Community,

ich habe da ein kleines Problem mit einer prüfung von tabellenfeldern.

Ich habe eine tabelle "benutzerrechte". Die Tabelle ist wie folgt aufgebaut:
HTML:
Feld                   Typ
---------------------------------------------------
benutzer_ID           int(10)                          Primärschlüssel
admin                 int(1)
tourinfo_edit         int(1)
tourinfo_del          int(1)
tourinfo_add          int(1)
....
.... u.s.w.

nun möchte ich für jedes feld für den jeweiligen benutzer zur benutzer_ID ob da eine 1 oder eine 0 drinne steht.

Ich bin gerade leider ahnungslos wie ich das anstellen soll. Vieleicht muss ich die Feldnamen in einen Array abspeichern ?

Würde mich freuen wenn mir da jemand helfen könnte.

LG

Jan
 
Wenn du dein SELECT machst und mit mysql_fetch_array/assoc eingibst, bekommst du doch für für jede Row ein Array zurückgeliefert - die kannst du dann ja überprüfen.

PHP:
$sql = "SELECT * FROM TABLE WHERE benutzer_ID=XY";
$result = mysql_query($sql);
if (mysql_num_rows($result) == "1")
        {
          $row = mysql_fetch_assoc($result);
          echo "Ist er admin? =".$row["admin"];
        }
else
          echo "User nicht gefunden";
 
Zuletzt bearbeitet:
Code:
$x = gesuchte_ID;

$eintrag = mysql_fetch_object(mysql_query("SELECT * FROM `benutzerrechte` WHERE `benutzer_ID` = '".$x."'"));

if($eintrag->admin) {
print "Ist Admin";
} else {
print "Ist kein Admin";
}
 
Hallo und danke für eure antworten,

problem bei der sache ist, das ich die felder nicht einzeln anfassen will.

Das script soll alle felder der tabelle anschauen und guggn ob 1 oder 0

(sinn der sache ist, das ich für jeden user zählen lassen will wieviele 0 sind und wieviele 1)

LG

Jan
 
Hi,

(sinn der sache ist, das ich für jeden user zählen lassen will wieviele 0 sind und wieviele 1)

Dann summier das doch einfach in der Abfrage:

SQL:
select benutzerID, admin + tourinfo_edit + tourinfo_del + tourinfo_add as Summe
   from benutzer

Oder Du normalisierst die Tabelle vernünftig, indem Du eine eigene Tabelle für die Rechte anlegst und eine Relationstabelle, in der Du den Benutzern die verschiedenen Rechte zuordnest. Dann kannst Du das bequem über einen gruppierten Join pro Benutzer summieren lassen.

Und achte in Deinen Beiträgen bitte auf die Rechtschreibung, wie es in unserer Netiquette, Punkt 15 steht. Durchgängige Kleinschreibung ist hier nicht erwünscht. Danke.

LG
 
Hallo,

das mit der Normalisierung ist so eine sach, ich bin gerade dabei die ganze DB umzustricken, und auch zu normalisieren. Da wäre das auch kein Problem :D

Aber momentan haben die nur diese Datenbank *G*

aber dank euren Gedankenanschüben *dickes T H X in die runde werf* hab ich mir da eine lösung zurechtgebastelt:

PHP:
while ($benshow = mysql_fetch_array($benu)) {
    $z = mysql_query('Select * FROM benutzerrechte WHERE benutzer_ID = '.$benshow['benutzer_ID'].' '); 
    $i = $notezahl1-1;
    $y = 0;
    $b = 1;
    $c = 0;
    while ($y != $i) {
        $eintrag = mysql_fetch_object(mysql_query("SELECT * FROM `benutzerrechte` WHERE `benutzer_ID` = '".$benshow['benutzer_ID']."'"));
        $nameF = mysql_field_name($z, $b);
        if($eintrag->$nameF) {
             $c ++;
        } 
       $y ++;
       $b ++;
    }
....
....
}
 
Zurück