Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 发送到xml时对订单文件进行排序_Mysql_Xml - Fatal编程技术网

Mysql 发送到xml时对订单文件进行排序

Mysql 发送到xml时对订单文件进行排序,mysql,xml,Mysql,Xml,我有以下声明: $query = "SELECT * FROM aprstrack WHERE callsignSSID = 'VE9SC-9' order by reporttime desc limit 30 "; 它可以工作,但我将结果输入一个xml文件,该文件需要与显示的顺序相反 显示屏如下所示: <?xml version="1.0" ?> - <markers> <marker call="VE9SC-9" lat="46.1088" lng

我有以下声明:

$query = "SELECT * FROM aprstrack WHERE callsignSSID = 'VE9SC-9' order by reporttime desc limit 30 "; 
它可以工作,但我将结果输入一个xml文件,该文件需要与显示的顺序相反

显示屏如下所示:

 <?xml version="1.0" ?> 
- <markers>
  <marker call="VE9SC-9" lat="46.1088" lng="-64.8708" datetime="2012-01-20 20:26:33"     course="" Speed="28" alt="" Icon="/P" /> 
  <marker call="VE9SC-9" lat="46.1038" lng="-64.8633" datetime="2012-01-20 20:25:23" course="" Speed="26" alt="" Icon="/P" /> 
  <marker call="VE9SC-9" lat="46.1038" lng="-64.8625" datetime="2012-01-20 20:25:19" course="" Speed="16" alt="" Icon="/P" /> 
  <marker call="VE9SC-9" lat="46.1037" lng="-64.862" datetime="2012-01-20 20:25:11" course="" Speed="10" alt="" Icon="/P" /> 
  <marker call="VE9SC-9" lat="46.1035" lng="-64.8622" datetime="2012-01-20 20:25:05" course="" Speed="14" alt="" Icon="/P" /> 
  <marker call="VE9SC-9" lat="46.0978" lng="-64.86" datetime="2012-01-20 20:24:18" course="" Speed="18" alt="" Icon="/P" /> 
  <marker call="VE9SC-9" lat="46.0943" lng="-64.8407" datetime="2012-01-20 20:21:40" course="" Speed="40" alt="" Icon="/P" /> 
  <marker call="VE9SC-9" lat="46.0977" lng="-64.8178" datetime="2012-01-20 20:19:08" course="" Speed="12" alt="" Icon="/P" /> 
 </markers>

- 
最新的列在顶部,我需要的是最老的列在顶部

我已经尝试过desc和ASC,但这不起作用需要做什么?我在网上查过了,找不到答案

谢谢
Stephen

MySQL首先进行排序,然后限制结果。这就是为什么你会得到30个最古老的结果。您需要执行子查询,以便在提取30条最新记录后进行排序:

$query = "SELECT * FROM (SELECT * FROM aprstrack WHERE callsignSSID = 'VE9SC-9' order by reporttime desc limit 30) ORDER BY reporttime ASC";

你试过“按报告时间ASC订购”吗?这应该行得通……问题是它会抓取最旧的记录并对它们进行排序。我需要在数据库中输入最后三十条记录,然后从三十条记录中按最旧的第一条显示它们。ASC的工作,但我得到了旧的记录,但最新的旧的仍然在顶部。谢谢你的帮助,每一点帮助。谢谢你没有工作,如所述,但我确实帮助了,我能够使它工作。我只需要删除第一个select*就可以了。我认为你必须感谢你的帮助,我一直在看这个,但无法让它工作,但在你的帮助下,它工作了。再次感谢。