[英]If statement inside a While loop
我查看了一些示例,但看不到我正在尋找的內容。
如果數量小於閾值,我需要使表格中的單元格改變顏色。
<?php
$result = mysql_query("SELECT * FROM stock WHERE type='hardware' ORDER BY item ASC");
echo "<table border='1' align='center' width='600'>
<tr>
<th align='left' bgcolor='#00a3e0'><font face='Arial'>Hardware Stock Item</font></th>
<th bgcolor='#00a3e0'><font face='Arial'>Quantity</font></th>
<th bgcolor='#00a3e0'><font face='Arial'>Location</font></th>
</tr>";
while($row1 = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td><font face='Arial'>" . $row1['item'] . "</font></td>";
if ($row1['quantity'] => $row1['threshold']) {
echo "<td align='center'><font face='Arial'>" . $row1['quantity'] . "</font></td>";
} else {
echo "<td align='center' bgcolor='red'><font face='Arial'>" . $row1['quantity'] . "</font></td>";
}
echo "<td align='center'><font face='Arial'>" . $row1['location'] . "</font></td>";
echo "</tr>";
}
echo "</table>";
?>
您沒有描述您遇到的確切問題,但一方面,這一行:
if ($row1['quantity'] => $row1['threshold']) {
是錯誤的。
也許您犯了一個未被注意到的錯字錯誤,無論如何存在語法錯誤並且正確編寫的運算符與您期望的相反:
=>
不是比較運算符,它是分配數組值時的賦值運算符,正確的比較運算符是>=
。
此外, >=
是lte運算符,換句話說,它表示大於或等於。 由於您顯然打算在數量小於閾值時更改元素的顏色,因此您應該使用小於運算符,即<
:
if ($row1['quantity'] < $row1['threshold']) {
但是,如果錯誤在您的解釋中並且您計划在您的條件中包含 equlaty,那么您應該選擇小於或等於運算符,即<=
:
if ($row1['quantity'] <= $row1['threshold']) {
我的代碼正在運行,但else
部分運行了 2 次。
如果我的條件有wrong
那么它會一次顯示Invalid Email & Password
但它會多次運行。 為什么?
<?php
require_once('connection.php');
if (isset($_POST['submit'])) {
$email = $_POST['email'];
$pass_wrd = $_POST['pass'];
$qry = "SELECT email,pswd FROM registration ";
$fetchdata = mysqli_query($con, $qry);
while ($arraydata = mysqli_fetch_array($fetchdata)) {
if (($email == $arraydata['email']) && ($pass_wrd == $arraydata['pswd'])) {
echo '<script>alert("Data Submitted")</script>';
} else {
echo "not";
}
}
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.