相应的 ID 未显示为 "selected" 结果下拉
Corresponding ID is not shown as "selected" result in dropdown
我有一个 php 页面,它将显示一个表单。在表格中你需要 select 一个驱动程序。驱动程序是 select 从 mysql 数据库编辑的,那部分工作得很好。但是,我希望看到已登录的用户自动 select 作为此表单的默认驱动程序。
我错过了什么?非常感谢任何帮助!
mysqli_set_charset($connection, 'utf8');
$query = "SELECT name, substring_index(substring_index(mrb_users.user_qualified,'|',-2),'|',1) as driver, id ";
$query .= "from mrb_users having driver like 'B%' ORDER BY name ";
$sql = mysqli_query($connection, $query);
$row = mysqli_num_rows($sql);
while ($row = mysqli_fetch_array($sql)){
echo "<option value='". $row['id'] ."' if('".$row['id']."'==='".$_SESSION['id']."') 'selected'>" .$row['name'] . ' - ' .$row['chauffeur'] ."</option>" ;
}
$conn->close();
看起来 PHP if
语句包含在双引号中,因此逐字打印。如果是这样,您应该可以使用浏览器的 HTML 检查器查看它。
为清楚起见,我建议 (1) 将 if
语句分解为单独的一行,并且 (2) 使用 sprintf()
而不是连接大量字符串:
$sel = ($row['id'] === $_SESSION['id'])
? 'selected'
: '';
sprintf('<option value="%s" %s>%s - %s</option>',
$row['id'], $sel, $row['name'], $row['chauffeur']);
我有一个 php 页面,它将显示一个表单。在表格中你需要 select 一个驱动程序。驱动程序是 select 从 mysql 数据库编辑的,那部分工作得很好。但是,我希望看到已登录的用户自动 select 作为此表单的默认驱动程序。
我错过了什么?非常感谢任何帮助!
mysqli_set_charset($connection, 'utf8');
$query = "SELECT name, substring_index(substring_index(mrb_users.user_qualified,'|',-2),'|',1) as driver, id ";
$query .= "from mrb_users having driver like 'B%' ORDER BY name ";
$sql = mysqli_query($connection, $query);
$row = mysqli_num_rows($sql);
while ($row = mysqli_fetch_array($sql)){
echo "<option value='". $row['id'] ."' if('".$row['id']."'==='".$_SESSION['id']."') 'selected'>" .$row['name'] . ' - ' .$row['chauffeur'] ."</option>" ;
}
$conn->close();
看起来 PHP if
语句包含在双引号中,因此逐字打印。如果是这样,您应该可以使用浏览器的 HTML 检查器查看它。
为清楚起见,我建议 (1) 将 if
语句分解为单独的一行,并且 (2) 使用 sprintf()
而不是连接大量字符串:
$sel = ($row['id'] === $_SESSION['id'])
? 'selected'
: '';
sprintf('<option value="%s" %s>%s - %s</option>',
$row['id'], $sel, $row['name'], $row['chauffeur']);