Php 动态多介质阵列排序

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

大家好,我有一个简单的问题。如何按字符串选择多维数组中要排序的列。这里有一些你应该知道的信息

我有一个带有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'],$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查询中编写将更容易。 编辑: