Re: how to mix two arrays into one and sort it by date/time?
| From: | afan@afan.net | 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