【问题标题】:Reorder database result重新排序数据库结果
【发布时间】:2023-03-19 01:25:02
【问题描述】:

我需要首先显示最新的结果 - 目前此代码按时间顺序显示更新。不幸的是,我无法访问以下代码中的查询,因此我需要在显示的代码中运行它。有什么想法吗?

<?php
    if($updates)
    {
        foreach($updates as $up)
        {
?>
<li class="common_li" style="background:none; border:none; padding:0px;"> 

<p style="font-size:12px; font-weight:nornal; font-style:italic;  color:#999999;"> 

<?php echo date($site_setting['date_format'],strtotime($up['date_added'])); ?></p>

<div style="border-radius:8px 8px 8px 8px;" class="detail_update">

<?php echo $up['updates'] ; ?></div>
</li>
?>

【问题讨论】:

  • 我认为最简单的方法是修改导致$updates 的查询。例如,如果这是一个 mysql_query,它应该非常简单。
  • 有一些mysql查询,你有权限吗?
  • 不幸的是,我无权访问该查询,因此我需要在上面的代码中运行它。

标签: php mysql sorting date


【解决方案1】:

您需要找出$updates 变量的来源并在那里更改查询。

另一种选择是按date_added 键对变量进行排序:

function sort_by_date( $a, $b ) {
   return strtotime( $a[ 'date_added' ] ) - strtotime( $b[ 'date_added' ] );
}

usort( $updates, "sort_by_date" );

更改查询是更简洁的方式,因此我建议尽可能这样做。

【讨论】:

  • 嗯,没有变化。虽然没有错误。目前它们按日期顺序排列(最旧的结果在前),我需要它们首先显示最新的结果。任何想法如何反转订单结果?
  • 可以在函数中反转变量。 return strtotime( $b[ 'date_added' ] ) - strtotime( $a[ 'date_added' ] );
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-06
  • 2013-12-06
  • 1970-01-01
相关资源
最近更新 更多