如果在While循环中声明

时间:2017-08-21 12:43:48

标签: php if-statement 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>";
?>

2 个答案:

答案 0 :(得分:0)

您没有描述您遇到的确切问题,但一方面,这一行:

if ($row1['quantity'] => $row1['threshold']) {

错了。

也许你犯了一个未被注意的拼写错误,无论如何都存在语法错误,正确编写的运算符与你期望的相反:

=>不是比较运算符,在分配数组值时它是赋值运算符,正确的比较运算符为>=

此外,>= lte 运算符,换句话说,它意味着大于或等于。 由于您显然打算在数量小于阈值时更改元素的颜色,因此您应该使用小于运算符<

if ($row1['quantity'] < $row1['threshold']) {

如果错误在你的解释中并且你计划在你的条件中包含equlaty,那么你应该去小于或等于运算符,即<=

if ($row1['quantity'] <= $row1['threshold']) {

答案 1 :(得分:0)

我的代码可以运行,但是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";
            }
        }
    }
    ?>
相关问题