下面是我用来检查字段是否显示“CIT”以显示html选择框中所选项目的一些代码。如果在数据库中选择了一个或另一个,则该字段显示“CSE”,分别在下拉列表中显示“CSE”和下拉列表中的CIT / CSE。无论数据库字段中的内容如何,代码似乎总是使用第一个if语句。所以“CSE”作为course_major的课程显示“CIT”是下拉列表中的第一个选项,但不应该这样。
while ($row = mysqli_fetch_array ($r, MYSQLI_ASSOC)) {
$bg = ($bg=='#B39C56' ? '#000000' : '#0A0A0A');
echo '<tr>
<form action="edit_course.php" method="post">
<!--Next Course
First Line of Table
--><td>Major:</td>
<td style="text-align:left">';
if ($row['course_major'] = "CIT") {
echo' <select name="course_major" class="rounded">
<option value="'.$row['course_major'].'">'.$row['course_major'].'</option>
<option value="CSE">CSE</option>
</select>';
} elseif ($row['course_major'] = "CSE") {
echo' <select name="course_major" class="rounded">
<option value="'.$row['course_major'].'">'.$row['course_major'].'</option>
<option value="CIT">CIT</option>
</select>';
};
echo'</td>
........................
答案 0 :(得分:2)
通常的错误;你在if和elseif子句中有一个赋值而不是一个相等的测试。将两个= -s更改为==。
答案 1 :(得分:2)
您要分配而不是比较。
if ( $x = 3 ) ...
将值3赋给$ x,然后测试该表达式的结果3,以查看该值是否为true。这与说
相同$x = 3;
if ( $x ) ...
你的意思是使用相等测试:
if ( $x == 3 ) ...