我知道如何在html表上打印來自數據庫的數據,但我有一個任務我無法理解,而我無法完成。 我在數據庫中的表,當我選擇這些數據我想他們顯示在HTML表,但這樣的事情:在html中打印數據庫數據表
Image http://img683.imageshack.us/img683/9350/tablea.png
我知道如何在html表上打印來自數據庫的數據,但我有一個任務我無法理解,而我無法完成。 我在數據庫中的表,當我選擇這些數據我想他們顯示在HTML表,但這樣的事情:在html中打印數據庫數據表
Image http://img683.imageshack.us/img683/9350/tablea.png
取得一個表的佈局一樣,你只需要條件的放置上表格行的結尾。
<table>
<tr>
<?php
$count = 0;
while($row = mysql_fetch_assoc($result)) :
$count++;
?>
<td><?php echo $row['value'] ?></td>
<?php if($count % 2 == 0 || $count == mysql_num_rows($res)) : ?>
</tr>
<?php if($count != mysql_num_rows($result)) : ?>
<tr>
<?php endif; ?>
<?php endif; ?>
<?php endwhile; ?>
</table>
什麼上面所做的是使用模運算符(%
,計算從餘數)來打印關閉和打開排標籤時,我們正處在一個均勻的編號結果。
另外,如果你想改變你的表格佈局爲3個或4列寬,所有你需要做的是改變應用到模數:
$count % 3 == 0 //3 columns
$count % 4 == 0 //4 columns, etc
<table>
<?php while (TRUE) { ?>
<?php
// Make an array of n rows. Trailing items may be FALSE if there
// are not enough rows to fill the table row.
//
$rows= array();
for ($i= 0; $i<n; $i++)
$rows[$i]= mysql_fetch_assoc($result);
if (!$row[0])
break;
?>
<tr>
<?php foreach ($rows as $row) { ?>
<td>
<?php if ($row) { ?>
Value: <?php echo(htmlspecialchars($row['value']); ?>
<?php } ?>
</td>
<?php } ?>
</tr>
<?php } ?>
</table>
的很好的例子麪條編碼 – Jacco 2010-02-16 12:11:19
你在說什麼?這是一個單一的一致的標記樹,與「意大利麪代碼」完全相反。您可以從縮進中看到每個元素和PHP結構開始和結束的位置,這使得它比隱藏在大塊PHP中的隨機「回聲」更易於維護。 – bobince 2010-02-16 13:28:15
我認爲如果它在解析和輸出模式之間使用較少的切換,它會更具可讀性。我讀了你的'正確的PHP教程'(http://stackoverflow.com/questions/2119083/php-tutorial-that-is-security-accuracy-and-maintainability-conscious)問題,我同意你的觀點,除了一件事:從一開始就教會新的語言使用模板系統。 – Jacco 2010-02-17 13:14:08