2014-10-20 1 views
0

모든 데이터를 첫 번째 테이블 행에 대해서만 작동하는 html 테이블에 인쇄하려고합니다. PHP MySQL 쿼리를 html 테이블에 삽입하면 첫 번째 테이블 행에만 삽입됩니다.

내 PHP 코드 :

$data = ""; 
while ($row = mysqli_fetch_assoc($result)) { 
    $data = "<tr> 
       <td>" . $row['name'] . "</td> 
       <td>" . $row['email'] . "</td> 
       <td>" . $row['message'] . "</td> 
       <td>" . $row['created'] . "</td> 
      </tr>"; 
} 

내 HTML 코드 :

<!DOCTYPE html> 
<html> 
<body> 

<table border="1"> 
    <tr> 
     <th width="15%">Name</th> 
     <th width="15%">Email</th> 
     <th width="50%">Message</th> 
     <th width="20%">Created</th> 
    </tr> 
    <?= $data ?> 
</table> 

</body> 
</html> 

은 어떻게 테이블이 자동으로 더 행을 삽입하게하고, MySQL의 데이터를 할 수 있습니까?

두 코드는 모두 1 개의 PHP 파일에 있습니다.

답변

1

새로운 루프백을 반복 할 때마다 변수에 새 html과 데이터를 추가하는 대신 $ 데이터를 최신 행으로 재설정한다고 생각합니다. 대신 사용

$data .= "<tr..." 
0

대신

$data = "<tr> 

의 사용

$data.= "<tr> 

당신이

+0

감사합니다. 나는 그것을 잊었다! 하하 –

+0

절대 안됩니다 ... 대답을 수락하십시오 – Choco

1
$data = "<tr> 
      <td>" . $row['name'] . "</td> 
      <td>" . $row['email'] . "</td> 
      <td>" . $row['message'] . "</td> 
      <td>" . $row['created'] . "</td> 
     </tr>"; 

이되는 루프의 모든 TR을 추가하는 것을 의미한다
$data .= "<tr> 
      <td>" . $row['name'] . "</td> 
      <td>" . $row['email'] . "</td> 
      <td>" . $row['message'] . "</td> 
      <td>" . $row['created'] . "</td> 
     </tr>";