2016-09-20 13 views
1

私は試しましたが、私はそれが間違っています。表は最初の行を連続してエコーし、他の行をエコーし​​ません。親切に助けてください。PHPを使用してdbから動的テーブルを作成

$run = " 
       SELECT * FROM staff 
       "; 
     $runquery = mysqli_query($connection, $run); 
     $runrow = mysqli_num_rows($runquery); 
     if($runrow < 1){ 
      echo "<p class='errormsg'>You do not have any Staff</p>"; 
     } 
     else{ 
      $row = mysqli_fetch_array($runquery); 
      if($row) { 
       $surname = $row['surname']; 
       $lastname = $row['lastname']; 
       $phone = $row['phone']; 
       $username = $row['username']; 
       $role = $row['auth']; 
      } 
      foreach ($row as $staff) { 
       $table .= " 
         <tr> 
          <td>$surname</td> 
          <td>$phone</td> 
          <td>$username</td> 
          <td>$role</td> 
         </tr> 
      "; 
      } 

     } 
+0

ループの前に変数を設定しているためです。 – Noman

+0

動作しません。私はそれを試しました –

+0

私の答えを確認してください – Noman

答えて

0

このようにループを変更する必要があります。あなたのレコードの表形式も<table>ボディが必要です。

$run  = "SELECT * FROM staff"; 
$runquery = mysqli_query($connection, $run); 
$runrow = mysqli_num_rows($runquery); 
if($runrow < 1) { 
    echo "<p class='errormsg'>You do not have any Staff</p>"; 
} 
else { 
    $table = ""; // create table here 
    while($row = mysqli_fetch_array($runquery)) { 
     $surname = $row['surname']; 
     $lastname = $row['lastname']; 
     $phone = $row['phone']; 
     $username = $row['username']; 
     $role  = $row['auth']; 
     $table .= "<tr> 
          <td>$surname</td> 
          <td>$phone</td> 
          <td>$username</td> 
          <td>$role</td> 
         </tr>"; 
    } 
    echo $table; 
} 
+0

Hmmm ...サポートが評価されました。しかし、最後の行だけが表示されます。コードを改善する必要があります。私は本当にあなたの助けに感謝します。助けて –

+0

期待通りにうまくいきました。 'print_r($ row);'をループで試してみてください – Noman

0

あなたはforeach-loopに次のコード部分を移動しようとしましたか?

$run = " 
     SELECT * FROM staff 
     "; 
$runquery = mysqli_query($connection, $run); 
$runrow = mysqli_num_rows($runquery); 
if($runrow < 1){ 
    echo "<p class='errormsg'>You do not have any Staff</p>"; 
} 
else{ 
    $row = mysqli_fetch_array($runquery); 
    foreach ($row as $staff) { 
     $surname = $staff['surname']; 
     $lastname = $staff['lastname']; 
     $phone = $staff['phone']; 
     $username = $staff['username']; 
     $role = $staff['auth']; 
     $table .= " 
       <tr> 
        <td>$surname</td> 
        <td>$phone</td> 
        <td>$username</td> 
        <td>$role</td> 
       </tr> 
    "; 
    } 

} 
関連する問題