按 Mysql 中的字段过滤行

Filter rows by field in Mysql

我希望工作人员进入申请页面查看学生的申请列表。它只会查看 apply_status = 'PENDING' 的状态。之前已经批准的状态将不会在页面中查看。 ..................................................... ...................................

这是我的代码,如果只有 apply_status = 'PENDING' 只会在页面中查看。 ...我添加了 if else 语句...但不起作用。如果有几个 apply_status = 已批准。它不会显示挂起的。但是如果没有apply_status = aprroved。它将查看所​​有应用程序。

<?php
    include("connection.php");
    $sql="SELECT * FROM application";
    $record = mysqli_query($con, $sql) or die ("error".mysqli_error($con));
    $apply = mysqli_fetch_assoc($record);

    $status1 = $apply["apply_status"];

    if ($status1 == "APPROVED") {
        echo "<br>";
        echo "No application from student yet.<br>";
        echo "<br>";
    }

    else {

    echo "<table border='1'><tr>

    <td><strong>Student ID</strong></td>
    <td><strong>Student Name</strong></td>
    <td><strong>Kelompok</strong></td>
    <td><strong>Block</strong></td>
    <td><strong>Level</strong></td>
    <td><strong>House</strong></td>
    <td><strong>Status</strong></td>


    </tr>";
    $i=0;
    while ($ww=mysqli_fetch_array($query))
    {
        if ($i%2==0)
            $class="evenRow";
        else
            $class="oddRow";

        $id=$ww[0];
        $studentid=$ww[1];
        $name=$ww[2];
        $kelompok=$ww[8];
        $block=$ww[9];
        $level=$ww[10];
        $house=$ww[11];
        $status=$ww[14];



    echo '<tr>
        <input type="hidden" name="applyid['.$i.']" value="'.$id.'"/>
        <td>'.$studentid.'</td>
        <td>'.$name.'</td>
        <td>'.$kelompok.'</td>
        <td>'.$block.'</a></td>
        <td>'.$level.'</td>
        <td>'.$house.'</td>
        <td>
            <input type="checkbox" name="status['.$i.']" value="approved" checked> APPROVED <br>
        </td>
        </tr>'; 
    $i++;
    }

    echo '</table>';

    }

我认为错误出在 if else 语句中,但我不知道如何区分 apply_status = approved 和 apply_status = pending。

试试这个, 记住,

$status1 = $apply["apply_status"];

应该是循环的一部分,有可能有它的行。

    <?php
    include("connection.php");
    $sql="SELECT * FROM application";
    $record = mysqli_query($con, $sql) or die ("error".mysqli_error($con));
    $i=0;
    $number_of_rows = mysql_num_rows($record);

     if ($number_of_rows == 0) {
            echo "<br>";
            echo "No application from student yet.<br>";
            echo "<br>";
     } else {
      while ($ww=mysqli_fetch_array($record))
     {

    echo "<table border='1'><tr>

    <td><strong>Student ID</strong></td>
    <td><strong>Student Name</strong></td>
    <td><strong>Kelompok</strong></td>
    <td><strong>Block</strong></td>
    <td><strong>Level</strong></td>
    <td><strong>House</strong></td>
    <td><strong>Status</strong></td>


    </tr>";


        if ($i%2==0)
            $class="evenRow";
        else
            $class="oddRow";

        $id=$ww[0];
        $studentid=$ww[1];
        $name=$ww[2];
        $kelompok=$ww[8];
        $block=$ww[9];
        $level=$ww[10];
        $house=$ww[11];
        $status=$ww[14];



    echo '<tr>
        <input type="hidden" name="applyid['.$i.']" value="'.$id.'"/>
        <td>'.$studentid.'</td>
        <td>'.$name.'</td>
        <td>'.$kelompok.'</td>
        <td>'.$block.'</a></td>
        <td>'.$level.'</td>
        <td>'.$house.'</td>
        <td>
            <input type="checkbox" name="status['.$i.']" value="approved" checked> APPROVED <br>
        </td>
        </tr>'; 
    $i++;
    }

    echo '</table>';


   }

我在你的代码中没有找到 "staff" 条件,

include("connection.php");

$sql="SELECT * FROM application";

if($staff){
$sql = $sql. " WHERE apply_status = 'PENDING'";
}else{
$sql = $sql. " WHERE apply_status = 'APPROVED'";
}