[prev in list] [next in list] [prev in thread] [next in thread]
List: php-general
Subject: Re: [PHP] Sorting Multidimensional Array
From: "Keith Spiller" <larentium () hosthive ! com>
Date: 2006-10-31 18:05:14
Message-ID: 0d3701c6fd17$1e4150f0$6501a8c0 () Evolution
[Download RAW message or body]
Thanks Richard,
But wouldn't "order by z" interfere with my original order by values?
My code is as follows:
$fields1 = " ID, Title, Label, Location, Start, End, Time, ";
$fields1 .= " Description, Organization, Department, Contact, ";
$fields1 .= " Phone, Email, Global, Board, Committee, Status, TBD_Time ";
$command = " SELECT $fields1, TO_DAYS(End) - TO_DAYS(Start) + 1 AS Days
";
$command .= " FROM $tablename ";
$command .= " $WHERETXT ORDER BY $sortby $sortorder ";
I just need to add a new record, but I have to use PHP because the Start and
End
dates for that record must match the current month...
If I could add the record to the Select statement as you suggest that would
be wonderful.
Keith
----- Original Message -----
From: "Richard Lynch" <ceo@l-i-e.com>
To: "Keith Spiller" <larentium@hosthive.com>
Cc: <php-general@lists.php.net>
Sent: Tuesday, October 31, 2006 10:48 AM
Subject: Re: [PHP] Sorting Multidimensional Array
> On Tue, October 31, 2006 11:10 am, Keith Spiller wrote:
>> RE: Sorting Multidimensional Array
>>
>> I'm trying to sort a multidimensional array. The data was taken from
>> a mysql query:
>>
>> $myrow = mysql_fetch_row($result) {
>> query[] = $myrow;
>> }
>>
>> The purpose is to retrieve the table data and manually add a record,
>> then sort ASC by the startdate which is the forth field...
>>
>> Something like:
>>
>> $test = array_multisort($query, $key = '$query[4]');
>>
>> Any help would be greatly appreciated. Thanks,
>
> Don't do that. :-)
>
> For starters, sorting in PHP is MUCH less efficient than in a DB.
>
> Secondly, getting multi-dimensional (sic) arrays in PHP to sort like
> you want generates a ton of traffic here, so it must be hard. :-)
>
> You can do somethig like this:
>
> (SELECT x, y, z FROM real_data
> UNION
> SELECT 'manually', 'inserted', 'data' as z
> )
> ORDER BY z
>
> And achieve MUCH better results with far less headache.
>
> If 'z' is indexed in real_data, add another ORDER BY z right before
> the UNION -- That will probably make it very fast/easy for the DB to
> splice in your manually-inserted 'z' value.
>
> --
> Some people have a "gift" link here.
> Know what I want?
> I want you to buy a CD from some starving artist.
> http://cdbaby.com/browse/from/lynch
> Yeah, I get a buck. So?
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic