php - 如何使用php select显示条目

标签 php mysql sql

我打算做的是列出表中的所有用户,将它们显示在列表中,然后在下拉列表中突出显示表中的当前条目。

这是我当前的代码:

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

但是它不起作用。

目前我当前有效的代码如下:

<?
//$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>";
?>

这列出了我的所有条目,但添加了顶部列出的表中的条目。我只是不知道如何列出所有条目并突出显示表中的条目。

最佳答案

您无法像您尝试的那样将 if 语句嵌入到 print 语句中。

但是,您可以使用三元运算符在没有 if 的情况下进行比较:

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

工作原理如下:

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

来自手册

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

关于php - 如何使用php select显示条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41334681/

相关文章:

sql - 如何将递归 CTE 转换为可在 SQL Server 2000 中使用

javascript - data-id 单击时向下滚动到该项目

php - 我们应该在哪里更改以在不使用 Sugarcrm 中的 ui 的情况下从菜单中显示或隐藏模块

php - 显示来自 Mysql 的数组信息

mysql - 加入一个表来显示平均值?

sql - 如何获取从第二个日期到最新日期的所有行?

php - 学说 2 : Error: Class "..\.." has no field or association named "..."

php inside php with $_session echo

mysql - 行程表设计

sql - 如何存储从 2017-08-20 到 2017-08-24 发生的事件?什么数据类型?