Re: [PHP] sorting results in PHP

2003-03-17 Thread André Cupini
Bill
Try this:

while ($crow=mysql_fetch_array($cresult)) {
  $therow[]=$crow;
}
sort($therow);


André Cupini
Programador
[EMAIL PROTECTED]
NeoBiz - fábrica de internet
http://www.neobiz.com.br

  - Original Message - 
  From: bill 
  To: [EMAIL PROTECTED] 
  Sent: Monday, March 17, 2003 11:54 AM
  Subject: [PHP] sorting results in PHP


  I have a query that returns results including the fields Year, Month, and Day
  that I want to sort by date.

  Because of the nature of the query (it includes a GROUP BY statement), I cannot
  sort it in the query.

  How can I sort the results?

  I tried to use asort() while designating the field but that didn't work.

  while ($crow=mysql_fetch_array($cresult)) {
$therow[]=$crow;
  }
  asort($therow[Year]);
  reset($therow);
  asort($therow[Month]);
  reset($therow);
  asort($therow[Day]);
  reset($therow);

  ideas?

  kind regards,

  bill




  -- 
  PHP General Mailing List (http://www.php.net/)
  To unsubscribe, visit: http://www.php.net/unsub.php

Re: [PHP] sorting results in PHP

2003-03-17 Thread bill
Hi André,

Sorting like that doesn't get it sorted by date.  Each row has a lot of fields.  It
actually needs to be sorted three times by three fields, Year, Month, and Day.

Because the query uses a GROUP BY statement, I can't sort it in the query.

André cupini wrote:

 Bill
 Try this:

 while ($crow=mysql_fetch_array($cresult)) {
   $therow[]=$crow;
 }
 sort($therow);

 André Cupini
 Programador
 [EMAIL PROTECTED]
 NeoBiz - fábrica de internet
 http://www.neobiz.com.br

   - Original Message -
   From: bill
   To: [EMAIL PROTECTED]
   Sent: Monday, March 17, 2003 11:54 AM
   Subject: [PHP] sorting results in PHP

   I have a query that returns results including the fields Year, Month, and Day
   that I want to sort by date.

   Because of the nature of the query (it includes a GROUP BY statement), I cannot
   sort it in the query.

   How can I sort the results?

   I tried to use asort() while designating the field but that didn't work.

   while ($crow=mysql_fetch_array($cresult)) {
 $therow[]=$crow;
   }
   asort($therow[Year]);
   reset($therow);
   asort($therow[Month]);
   reset($therow);
   asort($therow[Day]);
   reset($therow);

   ideas?

   kind regards,

   bill

   --
   PHP General Mailing List (http://www.php.net/)
   To unsubscribe, visit: http://www.php.net/unsub.php


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] sorting results in PHP

2003-03-17 Thread Erik Price


bill wrote:
Hi André,

Sorting like that doesn't get it sorted by date.  Each row has a lot of fields.  It
actually needs to be sorted three times by three fields, Year, Month, and Day.
Because the query uses a GROUP BY statement, I can't sort it in the query.
MySQL offers a DATE column type.  You can extract a day, year, or month 
from this, without having to maintain three separate tables, using 
DATE_FORMAT.  You can also sort by DATE in the query.  Would this not be 
better for your situation?

Erik

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP] sorting results in PHP

2003-03-17 Thread Marek Kilimajer
Use temporary table, it is simple and fast

bill wrote:

I have a query that returns results including the fields Year, Month, and Day
that I want to sort by date.
Because of the nature of the query (it includes a GROUP BY statement), I cannot
sort it in the query.
How can I sort the results?

kind regards,

bill



 



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


RE: [PHP] sorting results in PHP

2003-03-17 Thread John W. Holmes
 Sorting like that doesn't get it sorted by date.  Each row has a lot
of
 fields.  It
 actually needs to be sorted three times by three fields, Year, Month,
and
 Day.
 
 Because the query uses a GROUP BY statement, I can't sort it in the
query.

Why? I still don't see why you can't use an ORDER BY clause. 

ORDER BY date_column DESC

Which will order by year, month, then day. The order by is applied after
the GROUP BY, which will accomplish the same thing that you're trying to
do in PHP, only much faster.

---John W. Holmes...

PHP Architect - A monthly magazine for PHP Professionals. Get your copy
today. http://www.phparch.com/
 
 André cupini wrote:
 
  Bill
  Try this:
 
  while ($crow=mysql_fetch_array($cresult)) {
$therow[]=$crow;
  }
  sort($therow);
 
  André Cupini
  Programador
  [EMAIL PROTECTED]
  NeoBiz - fábrica de internet
  http://www.neobiz.com.br
 
- Original Message -
From: bill
To: [EMAIL PROTECTED]
Sent: Monday, March 17, 2003 11:54 AM
Subject: [PHP] sorting results in PHP
 
I have a query that returns results including the fields Year,
Month,
 and Day
that I want to sort by date.
 
Because of the nature of the query (it includes a GROUP BY
statement),
 I cannot
sort it in the query.
 
How can I sort the results?
 
I tried to use asort() while designating the field but that didn't
 work.
 
while ($crow=mysql_fetch_array($cresult)) {
  $therow[]=$crow;
}
asort($therow[Year]);
reset($therow);
asort($therow[Month]);
reset($therow);
asort($therow[Day]);
reset($therow);
 
ideas?
 
kind regards,
 
bill
 
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
 
 
 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php




--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] sorting results in PHP

2003-03-17 Thread bill
Aha.

Comments like yours made me look again.  It turns out that I could use ORDER BY
with a GROUP BY but I couldn't have it before a HAVING.

Specifically, I had

SELECT ...
GROUP BY $detailsdb.eid
ORDER BY Year, Month, Day
HAVING foobar = $numcatchoices

To fix it I changed the order to

SELECT ...
GROUP BY $detailsdb.eid
HAVING foobar = $numcatchoices
ORDER BY Year, Month, Day

thanks,

bill

John W. Holmes wrote:

  Sorting like that doesn't get it sorted by date.  Each row has a lot
 of
  fields.  It
  actually needs to be sorted three times by three fields, Year, Month,
 and
  Day.
 
  Because the query uses a GROUP BY statement, I can't sort it in the
 query.

 Why? I still don't see why you can't use an ORDER BY clause.

 ORDER BY date_column DESC

 Which will order by year, month, then day. The order by is applied after
 the GROUP BY, which will accomplish the same thing that you're trying to
 do in PHP, only much faster.

 ---John W. Holmes...

 PHP Architect - A monthly magazine for PHP Professionals. Get your copy
 today. http://www.phparch.com/

  André cupini wrote:
 
   Bill
   Try this:
  
   while ($crow=mysql_fetch_array($cresult)) {
 $therow[]=$crow;
   }
   sort($therow);
  
   André Cupini
   Programador
   [EMAIL PROTECTED]
   NeoBiz - fábrica de internet
   http://www.neobiz.com.br
  
 - Original Message -
 From: bill
 To: [EMAIL PROTECTED]
 Sent: Monday, March 17, 2003 11:54 AM
 Subject: [PHP] sorting results in PHP
  
 I have a query that returns results including the fields Year,
 Month,
  and Day
 that I want to sort by date.
  
 Because of the nature of the query (it includes a GROUP BY
 statement),
  I cannot
 sort it in the query.
  
 How can I sort the results?
  
 I tried to use asort() while designating the field but that didn't
  work.
  
 while ($crow=mysql_fetch_array($cresult)) {
   $therow[]=$crow;
 }
 asort($therow[Year]);
 reset($therow);
 asort($therow[Month]);
 reset($therow);
 asort($therow[Day]);
 reset($therow);
  
 ideas?
  
 kind regards,
  
 bill
  
 --
 PHP General Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php
 
 
  --
  PHP General Mailing List (http://www.php.net/)
  To unsubscribe, visit: http://www.php.net/unsub.php


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php