是否可以限制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
?>
答案 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");
要在代码中应用这些字词,只需要
date
。INSERT INTO tableName(date) VALUES('".time()."');
通过将查询修改为
,按最新显示产品排序顺序 $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选项