我有一个名为 mysql 的表product
,其结构如下:
CREATE TABLE product (
id int(6) unsigned NOT NULL auto_increment,
name varchar(100) NOT NULL default '',
image varchar(255) NOT NULL default '',
link varchar(255) NOT NULL default '',
price decimal(3,2) NOT NULL default '0.00',
PRIMARY KEY (id)
);
我想将检索到的结果可视{product1,...,product5}
化为一个 3 列的 html/php 表,该表还具有以下结构:
<table border="1" cellpadding="2" cellspacing="2" width="100%">
<tr>
<td>product1.image</td> <td>product2.image</td> <td>product3.image</td>
</tr>
<tr>
<td>product1.name</td> <td>product2.name</td> <td>product3.name</td>
</tr>
<tr>
<td>product1.link</td> <td>product2.link</td> <td>product3.link</td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>
<tr>
<td>product4.image</td> <td>product5.image</td> <td> </td>
</tr>
<tr>
<td>product4.name</td> <td>product5.name</td> <td> </td>
</tr>
<tr>
<td>product4.link</td> <td>product5.link</td> <td> </td>
</tr>
</table>
请注意,给定条目的字段(例如product1.{image,description,link}
)显示在不同的行中。下面的代码说明了如何显示某些产品的图像。
$table = 'product';
$result = mysql_query("SELECT id, image, description, link FROM {$table}");
if (!$result) {
die("Query to show fields from table failed");
}
$fields_num = mysql_num_fields($result);
echo "<h1>Table: {$table}</h1>";
echo "<table border='1' cellpadding='2' cellspacing='2' width='100%'><tr>";
// printing table headers
for($i=0; $i<$fields_num; $i++)
{
$field = mysql_fetch_field($result);
echo "<td> <img src="$field->image" border="0"></td>";
if($i%3==0){echo"</tr><tr>";}
}
echo "</tr></table>";
任何建议表示赞赏!