product
次の構造で名前が付けられたmysqlテーブルがあります。
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>";
どんな提案でも大歓迎です!