我在数据库中有一个表格,如下所示:
ID,功能,值:ID为1,2,3 ...... 功能将是颜色,大小,材料.... 值将是红色,13英寸,硅......
我这样存储了它:
ID
1
1
1个
特点
颜色
尺寸
材料
值
红色
13英寸硅
继续产品2 ......我试图以表格形式显示它,我没有得到它。
实际上当id -2到来时它必须进入下一行......但是它会继续显示在同一行......
有人可以告诉我该怎么做吗?
我试过这个
echo "<table width='100%'>";
echo "<tr><th>color</th>
<th>size</th>
<th>material</th></tr>";
echo "<tr>";
while ($row = mysql_fetch_assoc($result)) {
echo "<td>".$row['values']."</td>";
}
echo "</tr>";
echo "</table>";
已编辑 * *
这是我的完整代码
if(isset($_POST['submit']))
{
$id = $_POST['id'];
$test = "SELECT id, features, values FROM mytable WHERE features IN ('color', 'size', 'material') AND id IN (" . implode(',',$id) .")";
$result = mysql_query($test) or die (mysql_error());
echo "<table width='100%'>";
echo "<tr><th>color</th>
<th>size</th>
<th>material</th></tr>";
echo "<tr>";
while ($row = mysql_fetch_assoc($result)) {
echo "<td>".$row['values']."</td>";
}
echo "</tr>";
echo "</table>";
}
和print_r(mysql_fetch_assoc($result));
的输出
Array ([id] => 1 [features] => color [values] => red )
答案 0 :(得分:0)
我认为这应该可以解决问题:
$table_markup = '<tr>';
$current_row = null;
while ( $row = mysql_fetch_assoc($result) ) {
if ( $current_row === null ) {
$current_row = $row['id'];
}
if ( $current_row != $row['id'] ) {
$current_row = $row['id'];
$table_markup .= '</tr><tr>';
}
$table_markup .= '<td>' . $row['values'] . '</td>';
}
/* cutting off the last opened-TR tage */
$table_markup .= substr($table_markup, 0, -4);
echo $table_markup;