hoi, 
ich versuche derzeit, für eine Liste eine Art "zweite Benutzerbefugnisse" zu erstellen, in denen angegeben wird, wer in einer bestimmten Datenbankkategorie lesen/schreiben/löschen/bearbeiten darf.
Zur Generierung der einzelnen Selectboxen, in denen man auswählen kann. wer was machen darf verwende ich eine Funktion cat_auth_list() mit folgendem Inhalt:
	
es werden aber nicht mehrere Felder angezeigt, sondern nur eines, was dann auch noch falsch ausgefüllt wird. Da in der Funktion aber eine while-Schleife zum Einsatz kommt, die eigentlich immer erfüllt ist, sollten eigentlich alle Felder angezeigt werden. Die SQL-Query ist korrekt(mit phpMyAdmin getestet)
wer weiß Rat?
					ich versuche derzeit, für eine Liste eine Art "zweite Benutzerbefugnisse" zu erstellen, in denen angegeben wird, wer in einer bestimmten Datenbankkategorie lesen/schreiben/löschen/bearbeiten darf.
Zur Generierung der einzelnen Selectboxen, in denen man auswählen kann. wer was machen darf verwende ich eine Funktion cat_auth_list() mit folgendem Inhalt:
PHP-Code:
	
	
// 
// Generate Cat Auth List 
// 
function cat_auth_list($cat_id, $auth_view, $auth_read, $auth_edit, $auth_delete ) 
{ 
   global $db; 
   $sql = "SELECT * 
        FROM " . BOOK_CATEGORIES_AUTH_TABLE . " 
        WHERE cat_id = '$cat_id'"; 
   $result = $db->sql_query($sql); 
   if ( !($result = $db->sql_query($sql)) ) 
   { 
      message_die(GENERAL_ERROR, "Couldn't get Auth Data", "", __LINE__, __FILE__, $sql); 
   } 
   while( $row = $db->sql_fetchrow($result) ) 
   { 
      if ( $row['auth_view'] ) 
      { 
         $auth_view_select = '<select name="auth_view">'; 
         if( $row['auth_view'] == $auth_view) 
         { 
            $selected = "selected='selected'"; 
         } 
         else 
         { 
            $selected = ""; 
         } 
         $auth_view_select .= '<option value="0"' . $selected . '>ALL</option>'; 
         $auth_view_select .= '<option value="1"' . $selected . '>REG</option>'; 
         $auth_view_select .= '<option value="2"' . $selected . '>MOD</option>'; 
         $auth_view_select .= '<option value="3"' . $selected . '>ADMIN</option>'; 
         $auth_view_select .= "</select>"; 
         return $auth_view_select; 
      } 
      if ( $row['auth_read'] ) 
      { 
         $auth_read_select = '<select name="auth_read">'; 
         if( $row['auth_read'] == $auth_read) 
         { 
            $selected = "selected='selected'"; 
         } 
         else 
         { 
            $selected = ""; 
         } 
         $auth_read_select .= '<option value="0"' . $selected . '>ALL</option>'; 
         $auth_read_select .= '<option value="1"' . $selected . '>REG</option>'; 
         $auth_read_select .= '<option value="2"' . $selected . '>MOD</option>'; 
         $auth_read_select .= '<option value="3"' . $selected . '>ADMIN</option>'; 
         $auth_read_select .= "</select>"; 
         return $auth_read_select; 
      } 
      if ( $row['auth_edit'] ) 
      { 
         $auth_edit_select = '<select name="auth_edit">'; 
         if( $row['auth_edit'] == $auth_edit) 
         { 
            $selected = "selected='selected'"; 
         } 
         else 
         { 
            $selected = ""; 
         } 
         $auth_edit_select .= '<option value="0"' . $selected . '>ALL</option>'; 
         $auth_edit_select .= '<option value="1"' . $selected . '>REG</option>'; 
         $auth_edit_select .= '<option value="2"' . $selected . '>MOD</option>'; 
         $auth_edit_select .= '<option value="3"' . $selected . '>ADMIN</option>'; 
         $auth_edit_select .= "</select>"; 
         return $auth_edit_select; 
      } 
      if ( $row['auth_delete'] ) 
      { 
         $auth_delete_select = '<select name="auth_delete">'; 
         if( $row['auth_delete'] == $auth_delete) 
         { 
            $selected = "selected='selected'"; 
         } 
         else 
         { 
            $selected = ""; 
         } 
         $auth_delete_select .= '<option value="0"' . $selected . '>ALL</option>'; 
         $auth_delete_select .= '<option value="1"' . $selected . '>REG</option>'; 
         $auth_delete_select .= '<option value="2"' . $selected . '>MOD</option>'; 
         $auth_delete_select .= '<option value="3"' . $selected . '>ADMIN</option>'; 
         $auth_delete_select .= "</select>"; 
         return $auth_delete_select; 
      } 
   } 
} 
es werden aber nicht mehrere Felder angezeigt, sondern nur eines, was dann auch noch falsch ausgefüllt wird. Da in der Funktion aber eine while-Schleife zum Einsatz kommt, die eigentlich immer erfüllt ist, sollten eigentlich alle Felder angezeigt werden. Die SQL-Query ist korrekt(mit phpMyAdmin getestet)
wer weiß Rat?
 
          

 
							
						
Kommentar