PHP中的数组结果

时间:2013-08-05 15:23:29

标签: php html mysql arrays html-table

是否可以限制MYSQL数据库显示的结果?

目前结果显示在html表格中,我如何只显示最新的条目?

<?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");

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

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'];
  $catagory = $row['catagory'];

  echo "
  <td>$prodID</td>
  <td>$prodname</td>
  <td>$catagory</td>
  <td>
    <a href=deleteproduct.php?q=$prodID' class='btn mini red'>
    <i class='icon-trash'></i> Delete Item</a>
  </td>";

  echo "</tr><tr>"; // it's time no move to next row
}
echo "</tr>"; // last row ending
?>

4 个答案:

答案 0 :(得分:1)

只需将您的查询切换为类似的内容!

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

LIMIT 0,10将显示数据库的前10个结果。

您甚至可以通过数据库中的特定元素对其进行排序。

 $result=mysql_query("SELECT * FROM products ORDER BY objectName LIMIT 0,10")or die('You need enter a catagory' );

有关进一步的SQL基本帮助:http://www.sqlcommands.net/

祝你好运!

答案 1 :(得分:1)

您的问题由两部分组成。

第一部分: Is it possible to limit the results shown from a MYSQL database?

您可以在查询中使用limit字词来完成此操作。

示例:

mysql_query("SELECT * FROM products limit 1, 5");

之前的代码说选择所有产品并从产品开始,仅向我展示5种产品。

第二部分: how do I only show the newest entries ?

您可以这样做,首先必须在产品表中创建名为date的列,然后在添加新产品时,使用time()功能将时间存储到date列。<登记/> 然后,当您想要按最新产品显示产品订单时,可以使用order by句子。

示例:

mysql_query("SELECT * FROM products order by date ASC limit 1, 5");

要在代码中应用这些字词,只需要

  1. 在您的产品表格中添加新列,并将其命名为date
  2. 然后更改将产品添加到products表的查询以进行添加 使用time()函数到date列的时间 INSERT INTO tableName(date) VALUES('".time()."');
  3. 通过将查询修改为

    ,按最新显示产品排序顺序

    $result=mysql_query("SELECT * FROM products ORDER BY date ASC LIMIT 0, 15") or die('You need enter a category');

答案 2 :(得分:0)

首先,当你还是新手时,你应该研究PDO / Prepared语句而不是mysql_函数。

此外,您可以为您的SQL执行此操作:

$result=mysql_query("SELECT * FROM products ORDER BY name DESC LIMIT 0,10")or die('You need enter a catagory ' );

'name'是您希望按

排序的产品/行名称

答案 3 :(得分:0)

只需添加一个计数器,当计数器点击一个数字时使用:

break;

跳出循环。

例如

for ($i = 1; $i <= mysql_num_rows($result); $i++)
{
 if ($i==3) break;
}

当然你可以更好地限制循环本身:

使用:

for ($i = 1; $i <= 4; $i++)

或使用SQL查询中的LIMIT选项