菜鸟 问下PHP取出MYSQL数据,然后倒置顺序

汇江入海 2015-01-27 02:24:39
mysql数据


php代码:
$res_ip = mysql_query("select * from ip  order by id DESC limit 0,5");
while($row_ip = mysql_fetch_array($res_ip)){
$ip_ip[] = intval($row_ip['ip']);
$time_ip[] = date($row_ip['time']);
}
$data_ip = array(array("name"=>"IP流量","data"=>$ip_ip));
$data_ip = json_encode($data_ip);
$times_ip = json_encode($time_ip);
$times_ip = str_replace('2015-', '', $times_ip);


结果:
["01-25","01-25","01-24","01-23","01-22"]

[{"name":"IP\u6d41\u91cf","data":[12632220,12735020,127350,2213488,2348888]}]


想要的效果:
["01-22","01-23","01-24","01-25","01-26"]

[{"name":"IP\u6d41\u91cf","data":[2348888,2213488,127350,12735020,12632220]}]


说明: 就是相当于 把取出的最新5条数据,倒置过来。正常的取出来的5条最新数据是:5 4 3 2 1. 想要的是 1 2 3 4 5。 5 是最新的数据。

致谢!
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
汇江入海 2015-01-27
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
id desc 改成 id asc 是不行的! id desc 的本意是取最新数据,而 id asc 是取最旧的数据 要用 array_reverse 转置数组
$data_ip = array(array("name"=>"IP流量","data"=> array_reverse($ip_ip)));
$data_ip = json_encode($data_ip);
$times_ip = json_encode(array_reverse($time_ip));
$times_ip = str_replace('2015-', '', $times_ip);
斑竹的方法可行,谢谢
汇江入海 2015-01-27
  • 打赏
  • 举报
回复
引用 4 楼 redlz2500 的回复:
id排序应该就可以了啊,这个应该是按时间顺序写入的吧?
ASC 不行的,取出的是旧数据。
redlz2500 2015-01-27
  • 打赏
  • 举报
回复
id排序应该就可以了啊,这个应该是按时间顺序写入的吧?
xuzuning 2015-01-27
  • 打赏
  • 举报
回复
id desc 改成 id asc 是不行的! id desc 的本意是取最新数据,而 id asc 是取最旧的数据 要用 array_reverse 转置数组
$data_ip = array(array("name"=>"IP流量","data"=> array_reverse($ip_ip)));
$data_ip = json_encode($data_ip);
$times_ip = json_encode(array_reverse($time_ip));
$times_ip = str_replace('2015-', '', $times_ip);
ChanKalam 2015-01-27
  • 打赏
  • 举报
回复
select * from ip order by id ASC limit 0,5 ?
jiangbai333 2015-01-27
  • 打赏
  • 举报
回复
用id排序! 递减或者递增!你这个应该是递增!

21,892

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧