Re: how to mix two arrays into one and sort it by date/time?

From: Date: Tue, 02 Aug 2005 19:08:50 +0000
Subject: Re: how to mix two arrays into one and sort it by date/time?
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-219862@lists.php.net to get a copy of this message
Problem solved by mysql query (I thought it would be more tough :) ) my_query("
       (select order_transaction_no, order_date from order_table_1 where order_date >= '". $date_yesterday ."')
       union
       (select order_transaction_no, order_date from order_table_2 where order_date >= '". $date_yesterday ."')
       order by order_transaction_no desc, order_date desc
", 0); :) afan@afan.net wrote:
I have two tables with orders of different type of articles. order_table_1 order_table | order_transaction_no | order_date | ... 1 | 56982 | 2005-07-29 9:12:34 1 | 97163 | 2005-07-30 8:45:32 1 | 67452 | 2005-07-31 10:56:11 order_table_2 order_table | order_transaction_no | order_date | ... 2 | 36928 | 2005-07-29 11:12:54 2 | 97001 | 2005-07-29 4:45:41 2 | 54549 | 2005-07-31 6:56:28 I have to grab orders from both tables (last 24 hour), put them together and then sort them by datetime ordered. Like this: 2 | 97001 | 2005-07-29 4:45:41 1 | 56982 | 2005-07-29 9:12:34 2 | 36928 | 2005-07-29 11:12:54 1 | 97163 | 2005-07-30 8:45:32 2 | 54549 | 2005-07-31 6:56:28 1 | 67452 | 2005-07-31 10:56:11 My idea was to grab first all orders from first table as multi-dimensional array $orders = array(
                           array('order_table' => 1, 'order_trans_no' => 56982, 'order_date' => 2005-07-29 9:12:34),
                           array('order_table' => 1, 'order_trans_no' => 97163, 'order_date' => 2005-07-30 8:45:32),
                           array('order_table' => 1, 'order_trans_no' => 67452, 'order_date' => 2005-07-31 10:56:11)
                           array('order_table' => 2, 'order_trans_no' => 36928, 'order_date' => 2005-07-29 11:12:54),
                           array('order_table' => 2, 'order_trans_no' => 97001, 'order_date' => 2005-07-29 4:45:41),
                           array('order_table' => 2, 'order_trans_no' => 54549, 'order_date' => 2005-07-31 6:56:28)
           )
and then sort the array after order_date - but don't know how :( I guess the best way would be to make a sql query and sort them while grabbing them from db but don't know how to do it either :( Any help? Thanks! -afan


« previous php.general (#219862) next »