2014-01-27 3 views
-1

5 행 4 개로 표시하려고하는데 배열이 표시되지만 표시되지 않습니다. 내가 가지고있는 코드로는PHP 배열이 테이블에 표시되지 않습니다.

<table> 
<tr> 
<td></td> 
</tr> 
<tr> 
<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>... 
</tr> 
</table> 

대신

<table> 
<tr> 
<td></td><td></td><td></td><td></td><td></td> 
</tr> 
<tr> 
<td></td><td></td><td></td><td></td><td></td> 
</tr> 
<tr> 
<td></td><td></td><td></td><td></td><td></td> 
</tr> 
<tr> 
<td></td><td></td><td></td><td></td><td></td> 
</tr> 
</table> 

나는 아래와 같습니다 사용하고 테스트 코드처럼 표시됩니다. 어떤 제안?

<?php 
$field = 0; 
echo "<table><tbody>"; 
mysql_connect("localhost", "xxxx", "xxxx") or 
die("Could not connect: " . mysql_error()); 
mysql_select_db("xxx"); 

$result = mysql_query("SELECT item_id FROM user_item"); 

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
{ 
if ($field % 5 == 0) echo '<tr>'; 
echo '<td><img src="img/items/'. intval($row["item_id"]). '.png"></td>'; 
if ($field % 5 == 4) echo '</tr>'; 
$field++; 
} 
if ($field % 5 != 0) echo '</tr>'; 
echo "</tbody></table>"; 
} 
// <img src="img/items/'. intval($sprite). '.png"> 
mysql_free_result($result); 
?> 
+0

while 루프의 시작 부분에 두 개의 '{'가 표시되는 이유는 무엇입니까? –

+0

미안하지만 나는 그 일을 실현하지 못했습니다. – user3078244

답변

1

는 while 루프 외부해야

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    if ($field % 5 == 0) 
     echo '<tr>'; 

    echo '<td><img src="img/items/'. intval($row["item_id"]). '.png"></td>'; 

    if ($field % 5 == 4) 
    { 
     echo '</tr>'; 
     $field = 0; 
    } 
    else 
     $field++; 
} 
+0

고맙습니다. – user3078244

0
if ($field % 5 != 0) echo '</tr>'; 

echo "</tbody></table>"; 

을 시도합니다.

원인 끝 테이블이 루프에 없어야합니다. (반복) 과 같이 중요하게 행을 조기에 종료하고 있습니다.

관련 문제