2016-12-26 6 views
0

Was ich vorhabe ist, alle meine Benutzer aus meiner Tabelle aufzulisten, sie in einer Liste anzuzeigen und dann den aktuellen Eintrag in der Tabelle in der Dropdown-Liste hervorgehoben zu haben.So verwenden Sie PHP Wählen Sie, um Einträge anzuzeigen

Dies ist mein aktueller Code:

print "<option value=".$row2['user_id']."  if($row2['user_id']==$row['user_id']){ echo  'selected=\"selected\"';}>".$row2['fname']." ".$row2['lname']."</option>"; 

aber es funktioniert nicht.

meine aktuellen Code Im Moment die Arbeit tut, ist wie folgt:

<? 
//$results4 = mysql_query("select * from user_info order by fname"); 

$data2 = "select * from user_info order by fname"; 

$result2 = mysql_query($data2); 
print "<select name=\"timesheet_approver_1\">"; 
print "<option value=".$row['user_id']."    selected='selected'>".$row['fname']." ".$row['lname']."</option>"; 
while ($row2 = mysql_fetch_assoc($result2)) { 
print "<option value=".$row2['user_id'].">".$row2['fname']."  ".$row2['lname']."</option>"; 
} 
print "</select>"; 
?> 

Hier werden alle meine Einträge, sondern fügt die eine in der Tabelle oben angezeigt. Ich bin nur fest, wie ich nur alle Einträge auflisten und die in der Tabelle hervorgehoben haben.

Antwort

0

Sie können keine Anweisungen in print-Anweisungen einbetten, wie Sie es versucht haben.

Aber können Sie ohne das vergleichen, wenn die ternäre Operator:

print "<option value='".$row2['user_id']."' " .  ($row2['user_id']==$row['user_id'] ? 'selected="selected"' : '') . '>' .  $row2['fname']." ".$row2['lname']. "</option>"; 

Arbeiten wie folgt:

echo ($a == $b ? 'a==b evaluates true' : 'a==b evaluates false'); 

Aus dem Handbuch

"The expression (expr1) ? (expr2) : (expr3) evaluates to expr2 if expr1 evaluates to TRUE, and expr3 if expr1 evaluates to FALSE." 
Verwandte Themen