【问题标题】:Display and order a number of results from MySQL database using PHP使用 PHP 显示和排序 MySQL 数据库中的一些结果
【发布时间】:2014-02-20 10:53:35
【问题描述】:

我想在我的网页上显示和订购一些结果。

我仍然是 PHP 的初学者,但我有以下代码来回显(所有)数据,并且效果很好,但如果我只想显示例如 5 个结果,我不知道代码是否很好。如果这行得通,我怎么能订购它们? (例如最快时间得分的前 5 名)

$dbhost = 'host';
$dbuser = 'user';
$dbpass = 'pass';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT name, company, time FROM tablename';

mysql_select_db('databasename');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
    die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_NUM))
{
    echo 
        "name: {$row[0]}  <br> ".
        "company: {$row[1]} <br> ".
        "time: {$row[3]} <br> "
    ;
}
mysql_free_result($retval);
mysql_close($conn);

我应该在某处添加 ORDER BY 但找不到正确的解决方案。

【问题讨论】:

  • 我想你在找这个SELECT name, company, time FROM tablename ORDER BY columnname LIMIT 5
  • 在查询中添加
  • mysql_* 函数已弃用...请尝试使用mysqli_* 或 PDO

标签: php mysql sql-order-by


【解决方案1】:

试试这个,

$sql = 'SELECT name, company, `time` FROM tablename   ORDER BY name ASC LIMIT 5';

【讨论】:

  • 我已经尝试过类似的方法,但它不起作用,我在某个地方犯了一个错误,因为这个有效,谢谢!
【解决方案2】:

$sql = 'SELECT name, company, time FROM table name'; 应该是

$sql = 'SELECT name, company, time FROM table name ORDER BY column_name ACS | DESC';

大量阅读文档here

【讨论】:

  • 谢谢Kyle,这也有效(就像Krish的答案一样),但我也在寻找极限,所以这次我需要选择他的答案作为正确的答案,对不起!感谢您提供文档链接!
【解决方案3】:

$sql = SELECT name, company, time FROM tablename ORDERBY columnname LIMIT n;

这里的n指的是要显示的记录数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    相关资源
    最近更新 更多