Re: Best way to sort arrays
- From: "douggunnoe@xxxxxxxxx" <douggunnoe@xxxxxxxxx>
- Date: Thu, 01 Nov 2007 01:22:01 -0000
On Oct 31, 2:38 pm, floortje <n...@xxxxxxxxx> wrote:
Hi,
On my page I oftend find myself presenting my data like this
- all entries
1 - first (last modified)
2 - second
3 - last
- last entries
3 - last
- last modified
1 - first (last modified)
I have found a couple of ways to solve this
The first is 3 different queries
$allentries=$db::select('SELECT * FROM entries')
$lastentries=$db::select('SELECT * FROM entries ORDER BY id DESC LIMIT 5')
$lastmodefiedentries=$db::select('SELECT * FROM entries ORDER BY
modefied DESC limit 5')
$allentries=$db::select('SELECT * FROM entries')
foreach($allentries as $val)
{
//
$lastentries[$val['id']]=$val;
$lastmodefiedentries[$val['modefied']]}
// sort by id
krsort($lastentries)
// sort by modefied
krsort($lastmodefiedentries)
// etc
But I cant help wondering there should be a more efficient way to solve this.
In the first solution I use 2 extra queries and in the last soution I
use more system resources and it isn't really reusable.
Anyone know a better way ?
Floortje
Could you not cut out the first query? Just in your second query lose
the 'limit' clause and then when you print "all entries", use the
$lastentries result. If ordered backwards, start from the last key and
iterate backwards, I suppose.
And then when you print part 2, just take the first 5.
Other than that, I would go with the 3 queries. Is there a need for it
to be much faster?
.
- Follow-Ups:
- Re: Best way to sort arrays
- From: floortje
- Re: Best way to sort arrays
- Prev by Date: Re: Multiple Domains; 1 Server; 1 PHP Install; Only One Domain Has A Working PHP; WHY??????
- Next by Date: Re: Session or browser problem??
- Previous by thread: Re: Multiple Domains; 1 Server; 1 PHP Install; Only One Domain Has A Working PHP; WHY??????
- Next by thread: Re: Best way to sort arrays
- Index(es):
Relevant Pages
|