A somewhat more extensible version of the 1 query method:

http://www.garfieldtech.com/blog/php-group-by

If you will only ever have 2 values there, then either method is probably 
fine.  The "php group by" method (above) is more extensible if you're going 
to have a variable or arbitrary number of groups, though.

Cheers.

On Thursday 10 May 2007, James Tu wrote:
> (I've cross posted at the MySQL list as well)
>
> Here's an example with a simple table:
>
> describe collection;
>
> +------------------+---------------------+------+-----
> +---------------------+----------------+
>
> | Field            | Type                | Null | Key |
>
> Default             | Extra          |
> +------------------+---------------------+------+-----
> +---------------------+----------------+
>
> | id               | bigint(20) unsigned |      | PRI |
>
> NULL                | auto_increment |
>
> | receiver_id      | bigint(20) unsigned |      | MUL |
>
> 0                   |                |
>
> | set_type_id      | int(2) unsigned     |      |     |
>
> 0                   |                |
>
> | card_id          | int(3) unsigned     |      |     |
>
> 0                   |                |
>
> | completed_set_id | bigint(20) unsigned |      |     |
>
> 0                   |                |
>
> | created_on_gmt   | datetime            |      |     | 0000-00-00
>
> 00:00:00 |                |
> +------------------+---------------------+------+-----
> +---------------------+----------------+
>
>
> I want to end up with two PHP arrays.  One for set_type_id = 22 and
> one for set_type_id=21.
>
> (1) one query method:
> SELECT * from collection WHERE set_type_id=22 OR set_type_id=21;
> ...do query...
> while( $row = $this->db->fetch_array_row() ){
>       if ($row['set_type_id'] == 21){
>               $array_a[] = $row;
>       } else {
>               $array_b[] = $row;
>       }
> }
>
>
> (2) two query method:
> SELECT * from collection WHERE set_type_id=22;
> ...do query...
> while( $row = $this->db->fetch_array_row() ){
>       $array_a[] = $row;
> }
>
> SELECT * from collection WHERE set_type_id=21;
> ...do query...
> while( $row = $this->db->fetch_array_row() ){
>       $array_b[] = $row;
> }
>
>
> Which method is better?  Take a hit using MySQL or take a hit using PHP?
>
> -James


-- 
Larry Garfield                  AIM: LOLG42
[EMAIL PROTECTED]               ICQ: 6817012

"If nature has made any one thing less susceptible than all others of 
exclusive property, it is the action of the thinking power called an idea, 
which an individual may exclusively possess as long as he keeps it to 
himself; but the moment it is divulged, it forces itself into the possession 
of every one, and the receiver cannot dispossess himself of it."  -- Thomas 
Jefferson

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

Reply via email to