2012-04-09 5 views
0

In einer Abfrage bekomme ich alle Benutzerdetails in der Benutzertabelle.So zeigen Sie den ausgewählten Benutzer ist Admin in PHP

$userDetails = $dbUser ->getAllUsers(); 

In der zweiten Abfrage bekomme ich die Benutzerdetails, die dort in der ausgewählten Gruppe sind.

$groupMemberDetails = $dbGroupMembers ->getAllGroupMembers($groupId); 

Aber wenn der Benutzer in der ausgewählten Gruppe habe ich ihnen zu zeigen, wie verbleibenden Benutzer als nicht ausgewählte ausgewählt und auch wenn er Eigentümer ist es zeigen sich als Administrator an seinen Namen anhängen.

Ich habe folgenden Code gemacht, aber ich bekomme nicht richtig.

Bitte korrigieren Sie mich.

foreach ($userDetails as $user) { 

    $userId = $user['user_id']; 
    $userFirstName = $user['first_name']; 
    $userName = ''; 

    $selected = ""; 
    foreach ($groupMemberDetails as $groupMemberDetail) { 
     $groupMemberId = $groupMemberDetail['user_id']; 
     if($groupMemberId == $userId) { 
      $selected = "selected"; 
     } 
     $isAdmin = $groupMemberDetail['is_owner']; 
     if($isAdmin) { 
      $userName = $userFirstName . "(admin)"; 
     } else { 
      $userName = $userFirstName; 
     } 

    } 
    echo '<option value="'.$userId.'" '.$selected.'>'. $userName . '</option>'; 
} 

Antwort

0

Vor foreach i

$adminStr = ""; 

Dann erklärt haben, wenn Bedingung i wie dieses

if($groupMemberId == $userId) { 
    $selected = "selected"; 

    $isAdmin = $groupMemberDetail['is_owner']; 
    $adminStr = $isAdmin ? "(Admin)" : ""; 
} 
geschrieben
0

Sie müssen sich auf jeder Schleife zum Zurücksetzen Ausgewählte

foreach ($groupMemberDetails as $groupMemberDetail) { 
    $groupMemberId = $groupMemberDetail['user_id']; 
    //You need this line 
    $selected = ''; 

    if($groupMemberId == $userId) { 
     $selected = "selected"; 
    } 
Verwandte Themen