Php 动态多介质阵列排序
大家好,我有一个简单的问题。如何按字符串选择多维数组中要排序的列。这里有一些你应该知道的信息 我有一个带有eshop数据的表和一个函数,它向我显示特定eshop的订单,如图所示Php 动态多介质阵列排序,php,arrays,Php,Arrays,大家好,我有一个简单的问题。如何按字符串选择多维数组中要排序的列。这里有一些你应该知道的信息 我有一个带有eshop数据的表和一个函数,它向我显示特定eshop的订单,如图所示 $sql = mysql_query("SELECT * FROM eshops WHERE active = 1"); while($data = mysql_fetch_assoc($sql)){ $res = showOrders($data['host'],$data['user'],$data['pass
$sql = mysql_query("SELECT * FROM eshops WHERE active = 1");
while($data = mysql_fetch_assoc($sql)){
$res = showOrders($data['host'],$data['user'],$data['pass'],$data['db'],$data['prefix']);
echo $res;
}
$GLOBALS['container'][] = array($data['eshop_id'],$data2['order_id']
,$data2['order_status'],$data2['order_number'],$data2['d_f_name'],$data2['d_l_name']
,$data2['order_total'],$data2['payment_method_id'],$data2['shipping_method_id']
,$data2['Exportovano'],$data2['C_Baliku'],date("d.m.Y",strtotime($data2['order_date'])));
这是我第一次尝试如何通过将sql条件传递给函数来显示我生成的所有订单过滤器。然后我想对结果进行排序,问题来了,我可以对每个eshop进行排序,但我想一次对所有eshop进行排序,这意味着如果我按订单日期对它们进行排序,eshop会混淆,但现在不可能,所以我做了这个
例如:
$GLOBALS['container'] = array();
在一个函数中,我将数据放入如下数组
$sql = mysql_query("SELECT * FROM eshops WHERE active = 1");
while($data = mysql_fetch_assoc($sql)){
$res = showOrders($data['host'],$data['user'],$data['pass'],$data['db'],$data['prefix']);
echo $res;
}
$GLOBALS['container'][] = array($data['eshop_id'],$data2['order_id']
,$data2['order_status'],$data2['order_number'],$data2['d_f_name'],$data2['d_l_name']
,$data2['order_total'],$data2['payment_method_id'],$data2['shipping_method_id']
,$data2['Exportovano'],$data2['C_Baliku'],date("d.m.Y",strtotime($data2['order_date'])));
那我喜欢这样
foreach($GLOBALS['container'] as $key => $datas){
$eshop_id[$key] = $datas[0];
$order_id[$key] = $datas[1];
$order_st[$key] = $datas[2];
$order_nm[$key] = $datas[3];
$d_f_name[$key] = $datas[4];
$d_l_name[$key] = $datas[5];
$order_tl[$key] = $datas[6];
$pay_m_id[$key] = $datas[7];
$shp_m_id[$key] = $datas[8];
$exported[$key] = $datas[9];
$parc_num[$key] = $datas[10];
$ord_date[$key] = $datas[11];
}
array_multisort($ord_date, SORT_DESC,$d_f_name, SORT_ASC, $GLOBALS['container']);
现在我们开始,我可以按照我的意愿排序,然后通过foreach容器选择order by order还添加了一个条件,但是如何选择我想要排序的内容呢?我通过get传递数据
?sort=ord_date&orn=asc
我想排序ord_日期变量升序如何?请帮帮我,谢谢
我也欢迎其他解决方案。在WHERE语句使用ORDER BY(column)语句之后,在SQL查询中编写将更容易。 编辑: