Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PHP数组转换为HTML表_Php_Html_Mysql_Arrays_Html Table - Fatal编程技术网

将PHP数组转换为HTML表

将PHP数组转换为HTML表,php,html,mysql,arrays,html-table,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-X

我试图用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和image,但每行只有三列三个产品


我该怎么做?

这看起来不太好

if ($i % 5 == 0 || $i == 0) {
我想应该是这样

if ($i % 3 == 0 || $i == 0) {
否则,在关闭旧文件时将无法打开新文件

在这个基础上扩展,你可以让你自己变得更容易

echo "<table><tr>"; // Open the first row
for ($i ..... etc.) {

    -- SNIP --

   if ($i % 3 == 0) {
        echo "</tr><tr>"; // imediately open new row
   }
}
echo "</tr></table>"; // Close last row as well as table

这看起来不太好

if ($i % 5 == 0 || $i == 0) {
我想应该是这样

if ($i % 3 == 0 || $i == 0) {
否则,在关闭旧文件时将无法打开新文件

在这个基础上扩展,你可以让你自己变得更容易

echo "<table><tr>"; // Open the first row
for ($i ..... etc.) {

    -- SNIP --

   if ($i % 3 == 0) {
        echo "</tr><tr>"; // imediately open new row
   }
}
echo "</tr></table>"; // Close last row as well as table
请注意,$i现在从1开始,在
请注意,$i现在从1开始,它在尝试分类而不是分类时循环。它不会解决你的问题,但会在期末报告中给你额外的分数wink@Fred-哈,谢谢!但是,你知道我该怎么做吗?提示:SELECT*和SELECT cola,colb,colc之间有什么区别?@Fred知道如何解决我的问题吗?你正在使用并且应该使用。你也容易受到一个现代API的影响,它会让你更容易从中受益。尝试分类而不是分类。它不会解决你的问题,但会在期末报告中给你额外的分数wink@Fred-哈,谢谢!但是,你知道我该怎么做吗?提示:SELECT*和SELECT cola,colb,colc之间有什么区别?@Fred知道如何解决我的问题吗?你正在使用并且应该使用。您也容易受到现代API的影响。更改此设置,第一行显示一列,第二行2列,第三行1列?更改此设置,第一行显示一列,第二行2列,第三行1列?