PHP if/else未按预期工作

PHP if/else未按预期工作,php,mysql,select,if-statement,Php,Mysql,Select,If Statement,下面是一些代码,我正在使用它来检查一个字段是否显示为“CIT”,以将其显示为html选择框中的选定项。否则,如果字段显示“CSE”,则在下拉列表中分别显示“CSE”和CIT/CSE(如果数据库中选择了其中一个)。无论数据库字段中是什么,代码似乎总是使用第一个if语句。因此,以“CSE”为主修课程的课程在下拉列表中显示“CIT”为第一选项,但不应该是这样 while ($row = mysqli_fetch_array ($r, MYSQLI_ASSOC)) { $bg = ($bg=='#B39

下面是一些代码,我正在使用它来检查一个字段是否显示为“CIT”,以将其显示为html选择框中的选定项。否则,如果字段显示“CSE”,则在下拉列表中分别显示“CSE”和CIT/CSE(如果数据库中选择了其中一个)。无论数据库字段中是什么,代码似乎总是使用第一个if语句。因此,以“CSE”为主修课程的课程在下拉列表中显示“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>
........................    
while($row=mysqli\u fetch\u数组($r,mysqli\u ASSOC)){
$bg=($bg=='#B39C56'?'#000000':'#0A0A0A');
回声'
主修:
';
if($row[“课程”]=“CIT”){
回声'
“.$row[“主修课程”]。”
CSE
';
}elseif($row['course_major']=“CSE”){
回声'
“.$row[“主修课程”]。”
CIT
';
};
回声'
........................    

通常的错误;在if和elseif子句中有赋值而不是相等测试。将两个=-s更改为==。

您正在赋值而不是比较

if ( $x = 3 ) ...
将值3赋给$x,然后测试表达式3的结果,以查看该值是否为真

$x = 3;
if ( $x ) ...
您的意思是使用相等性测试:

if ( $x == 3 ) ...

啊,太简单了。谢谢!