0

私は自分のウェブサイトに取り組んでおり、登録した人のメンバーを表示するための基本的なテーブルがあります。ただし、テーブルに管理者アカウントを表示したくありません。この場合、管理者であるテーブルからユーザー名/IDを除外する方法はありますか? ありがとう、ジョシュ

メンバーリストテーブルのコードは次のとおりです。

<?php 

    include("include/session.php");

/**
 * displayUsers - Displays the users database table in
 * a nicely formatted html table.
 */
function displayUsers(){

      $levels = array('1'=>'Member','2'=>'Supporter','3'=>'Donor','4'=>'VIP','5'=>'Veteran','7'=>'Co-Founder','8'=>'Founder','9'=>'Admin');
    //do_query
    //loop results
    $ulevel = mysql_result($result,$i,"userlevel"); $ulevel = $levels[$ulevel];
    //continue loop

   global $database;
   $q = "SELECT username,userlevel,email,timestamp "
       ."FROM ".TBL_USERS." ORDER BY userlevel DESC,username";
   $result = $database->query($q);
   /* Error occurred, return given name by default */
   $num_rows = mysql_numrows($result);
   if(!$result || ($num_rows < 0)){
      echo "Error displaying info";
      return;
   }
   if($num_rows == 0){
      echo "Database table empty";
      return;
   }
   /* Display table contents */
   echo "<table align=\"left\" border=\"1\" cellspacing=\"0\" cellpadding=\"3\">\n";
   echo "<tr><td><b>Username</b></td><td><b>Level</b></td><td><b>Last Active</b></td></tr>\n";
   for($i=0; $i<$num_rows; $i++){
      $uname  = mysql_result($result,$i,"username");
      $ulevel = $levels[mysql_result($result,$i,"userlevel")];
      $time   = mysql_result($result,$i,"timestamp");

      echo "<tr><td>$uname</td><td>$ulevel</td><td>$time</td></tr>\n";
   }
   echo "</table><br>\n";


}
?> 
4

2 に答える 2

3

クエリを更新するだけです:

$q = "SELECT username,userlevel,email,timestamp "
       ."FROM ".TBL_USERS." where userlevel<>'Admin' ORDER BY userlevel DESC,username";

PDO ライブラリを使用する場合:

...
$adminLevel = 'Admin';
$q = "SELECT username,userlevel,email,timestamp "
     ."FROM ".TBL_USERS." where userlevel <> ? ORDER BY userlevel DESC,username";
$statement = $database->prepare($q);  
$result = $statement->execute(array($adminLevel));

... // Go on with the rest of your code
于 2013-07-24T04:42:30.053 に答える