PHP 数组转换为 HTML 表格

标签 php html mysql arrays html-table

我试图在 HTML 表格中显示数据库中具有特定类别的所有产品。但是我不确定如何将表格限制为仅三列。

这是我的代码:

<table>
    <?php
  $catagory=$_GET["q"];


$con = mysql_connect("localhost","cl49-XXX","XXX");
if (!$con) 
  {
   die('Could not connect: ' . mysql_error());
   }

mysql_select_db("cl49-XXX", $con)or die( "Unable to select database");


$result=mysql_query("SELECT * FROM products WHERE catagory  = '$catagory' ")or die('You need enter a catagory ' );

  for ($i = 0; $i < mysql_num_rows($result); $i++)
    {
        $row = mysql_fetch_array($result);

        $prodname = $row['prodname'];
        $prodID = $row['prodID'];
        if ($i % 5 == 0 || $i == 0) {
            echo "<tr>";
        }
        echo "
        <td>
            <b>$prodname </b><br />
            Product ID: $prodID<br />
            <img src='/userpics/$prodID.jpg' height='200' width='200'>
        </td>";

        if ($i % 3 == 0 || $i == (mysql_num_rows($result)-1)) {
            echo "</tr>";
        }
    }
    ?>
<table>

我正在等待在同一个“单元格”中显示 prodID、prodtitle 和图像,但只有三列(每行三个产品)。

我该怎么做?

最佳答案

echo "<tr>"; // first row beginning
for ($i = 1; $i <= mysql_num_rows($result); $i++)
{
    $row = mysql_fetch_array($result);

    $prodname = $row['prodname'];
    $prodID = $row['prodID'];

    echo "
    <td>
        <b>$prodname </b><br />
        Product ID: $prodID<br />
        <img src='/userpics/$prodID.jpg' height='200' width='200'>
    </td>";

    if ($i % 3 == 0) {
        echo "</tr> <tr>"; // it's time no move to next row
    }
}
echo "</tr>"; // last row ending

请注意 $i 现在从 1 开始并在 <= 期间循环num_rows,不是 < .

关于PHP 数组转换为 HTML 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18017820/

相关文章:

php - 使用 PHP 插入自定义 Postgres 数据类型

jquery - 在 click jquery 上 append 输入标签并将这些值发送到操作页面

javascript - 确定 IFrame 加载后何时渲染 iFrame 内容

php - 选择两个表中的数据

mysql - 在 MySql 中的内部选择中使用列别名

php - 如何向 PHP 中的现有类添加方法?

php - 具有不同 ID 的多个动态表单的 AJAX 查询

html - Chrome 上右浮动的奇怪行为

php - Magento - 未找到基表或 View

php - 具有多个自定义字段的 wp_query 返回 0 个结果