我认为原来是一个带有IF
运算符的简单||
语句不起作用。我只是忽略了这段代码中的某些内容吗?
如果我删除||
运算符并分别测试每个条件,则该方法有效。但不是下面显示的方式
$sql = "SELECT * FROM `Projects` WHERE `EmpID` = '$eID'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while ($row = $result->fetch_assoc()) {
if ($row["ProjectStatus"] != 'Cancelled' || $row["ProjectStatus"] != 'Complete') {
$imgnum = rand(0, 100);
echo '
<a href="index.php?proj=' . $row["ProjectSubDomain"] . '&ProID=' . $row["ProjectID"] . '">
<div class="card mb-10" style="width:350px">
<img class="card-img-top img-fluid" src="https://picsum.photos/275/100/?image=' . $imgnum . '" alt="Card image">
<div class="card-img-overlay text-w-glow">
<h3 class="card-title">' . $row["ProjectName"] . '</h3>
<p class="card-text">' . $row["ProjectType"] . '</p>
</div>
<div class="card-footer">
Project Status: ' . $row["ProjectStatus"] . '
</div>
</div>
</a>
<br>
';
}
}
} else {
echo "No Current Projects";
}
在我的疏忽大意之时,有人可以提供帮助吗?谢谢。
答案 0 :(得分:1)
完成或取消匹配。我会的:
if(!in_array($row["ProjectStatus"], array('Cancelled', 'Complete'))) {
答案 1 :(得分:1)
如果您使用||
,它将无法使用,因为如果状态为“完成”,则与“已取消”状态不同,反之亦然,因此,您告诉它将“已完成”和“已取消”作为好。您必须使用&&
代替。
if ($row["ProjectStatus"] != 'Cancelled' && $row["ProjectStatus"] != 'Complete') {