php - 查询顺序降序的问题

标签 php mysql


我的 mytable 中有 29 行,其中包含日期时间(dt)。我想按降序排列 当我查询表时,它给出从 28 开始的结果(未给出 29),在 28 之后,它从 1, 2....27 开始,其中 (1-27 日期时间为 0000-00-00 00:00:00),29 为最近时间。


$dt1=$_GET['dt'];
$query="SELECT * FROM table ORDER BY dt DESC";
$result1 = mysql_query($query);
$table = mysql_fetch_array($result1, MYSQL_ASSOC);
$dt2=$table['dt'];
echo $dt2."<br/>";   // if here i echo $table['id'];  the result is here 29 
if(strtotime($dt1) <  strtotime($dt2))
{
while ($table = mysql_fetch_array($result1, MYSQL_ASSOC)){

    echo $table['id']."<br />";
    echo $table['name']."<br />";

   }
     }
   else
       echo "false";


为什么最后一个 id 没有显示,即 29

最佳答案

您将第一行读入第 3 行的 $table

$result1 = mysql_query($query);

因此,当进入 while 循环时,您将第二行读入 $table ,导致您错过第一行。

编辑: 您可以通过在开始 while 循环之前重置行指针来防止这种情况发生,如下所示:

mysql_data_seek($query,0);
while(..........

关于php - 查询顺序降序的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5483848/

相关文章:

php - 何时应在脚本中关闭 SQL Server 连接?

php - 更改分组产品的 WooCommerce 商店页面按钮文本

php - 选择行在一个表中不匹配(mysql)

php - 如何使用 tcpdf 旋转整页?

php - 表单输入字段的动态扩展

php - 在 php 中使用身份验证连接到数据库时出错

php - CakePHP + APC 用户缓存条目超时问题

php - 使用 PHP 存储和检索多维数组

javascript - 使用 select 过滤数据库

php - MySQL 搜索不同的表并只获取特定的 ID