2017-02-06 4 views
0

スタッフがアプリケーションページにアクセスして、学生のアプリケーションリストを表示したい場合は、 apply_status = 'PENDING'のステータスのみを表示します。既に承認済みのステータスはページに表示されません。 ................................................. ...............................フィールドをMysqlのフィールドでフィルタリングする

apply_status = 'PENDING'のみが表示される場合はこれが私のコードですページの... if else文を追加しますが、動作しません。 apply_status = approvedが複数ある場合。保留中のものは表示されません。しかし、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>'; 

    } 

私は、エラーがあればelse文であると思いますが、私は承認され、apply_statusが=保留= apply_statusを差別化する方法を知りません。

+0

'ますprint_r($が適用されます);'と – Naga

答えて

0

$status1 = $apply["apply_status"]; 

がループの一部であるべき、 は覚えておいて、これを試して、それを持っている5月の行があります。

<?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>'; 


    } 
+0

はそんなにありがとう...印刷出力に見て!その仕事!しかし、私の出力は次のようになります - > "まだ学生からのアプリケーションはありません。そしてapply_status = pending"という学生のテーブルを表示すると、elseからのこの2つの結果が表示されます。私のテーブルアプリケーションには2人の学生がいます.1人はapply_status = approved、もう1人はapply_status = pendingです。 apply_status = approvedであればいいので、「まだ学生からの申請はありません」と表示されます。 apply_status = pendingという別の生徒がいる場合は、この生徒のアプリケーションのみが表示されます。 –

+0

私はクエリ$ sql = "SELECT * FROM'アプリケーション 'WHERE' apply_status' = 'PENDING' "に直接限定します。 MYSQL_num_rowsが> 0を返す場合は、他の行を表示else "学生からの申請はまだありません。
" – flakerimi

+0

@MaryamNabilah自分の編集をチェックしてください – flakerimi

0

Imが見つからないあなたのコード内の "スタッフ" の条件,,

include("connection.php"); 

$sql="SELECT * FROM application"; 

if($staff){ 
$sql = $sql. " WHERE apply_status = 'PENDING'"; 
}else{ 
$sql = $sql. " WHERE apply_status = 'APPROVED'"; 
} 
関連する問題