我有一个php页面,它将显示一个表单。在表格中,您需要选择一个驱动程序。从mysql数据库中选择驱动程序,该部分工作正常。但是,我希望看到已自动登录的用户被选为该表单的默认驱动程序。
我想念的是什么?非常感谢您的帮助!
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']);