我正在尝试为employees表更新数据库。当我运行和测试时,每个用户都将在会计部门工作,即使他们在另一个部门工作也是如此。我有什么想念的吗?我也没有收到任何错误。任何帮助将不胜感激。
PHP / HTML
<?php
//ERROR CHECKING CODE
mysqli_report(MYSQLI_REPORT_ALL ^ MYSQLI_REPORT_STRICT);
error_reporting(E_ALL);
ini_set('display_errors', '1');
require_once("dbconnect.php");
$id = (isset($_REQUEST['id']) ? $_REQUEST['id'] : '');
$sql = "SELECT * FROM employees WHERE empid= '" . $id . "';";
$result = mysqli_query($connect, $sql) or die(mysql_error);
$row = mysqli_fetch_array($result, MYSQL_ASSOC) or die (mysql_error());
?>
PHP / HTML
<p>Department</br>
<select name="department">
<option <?php if($row['department']==1) {print('selected');}?>value="1">Accounting</option>
<option <?php if($row['department']==2) {print('selected');} ?>value='2'>Legal</option>
<option <?php if($row['department']==3) {print('selected');} ?>value='3'>Information Technology</option>
<option <?php if($row['department']==4) {print('selected');} ?>value='4'>Human Resources</option>
</select>
答案 0 :(得分:2)
很难看到运行中的代码,但是乍一看就有一个问题:在每个option
标签中,在结束的PHP标签(?>
)和value
属性,因此,如果$row['department']
与对应值匹配,则PHP语句将显示“已选择”但没有空格,HTML看起来像这样(例如$row['department']
等于2) :
<option selectedvalue='2'>Legal</option>
显然不会选择该选项。尝试在每个关闭的PHP标记后添加一个空格,或打印“ seleted”,最后加一个空格。