0

HTML テーブル内の特定のカテゴリを持つデータベース内のすべての製品を表示しようとしています。ただし、テーブルを 3 列のみに制限する方法がわかりません。

これが私のコードです:

<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、およびイメージをすべて同じ「セル」に表示するのを待っていますが、列は 3 つしかありません (行ごとに 3 つの製品)。

どうすればいいですか?

4

3 に答える 3

1
<table>
<?php    
    $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");

    $catagory = mysql_real_escape_string($_GET['q']); // prevent SQL injections

    if(empty($catagory)) {
        die('You need to enter a catagory');
    }

    $result = mysql_query("SELECT * FROM products WHERE catagory = '$catagory';") or die(mysql_error());
    // a general error might have occurred,
    // may or may not be related to not entering a catagory

    $rows = mysql_num_rows($result); // cache the number for performance

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

        $prodname = $row['prodname'];
        $prodID = $row['prodID'];
        if ($i % 3 === 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) {
            echo "</tr>";
        }
    }

    if($i % 3 > 0) {
        // last row was not full
        echo '</tr>';
    }
?>
</table>
于 2013-08-02T13:26:34.530 に答える