NYCPHP Meetup

NYPHP.org

[nycphp-talk] Mysql Selects

Ophir Prusak prusak at gmail.com
Tue Jun 21 23:24:53 EDT 2005


not sure why I'm answering this, but this seems you're doing something
in PHP you could/should be doing in the database.

the " IN (zip1, zip2, etc)" solution aint that bad, but what you
really should be doing is using one query with a join or a subselect.

for the join crowd, something like this:

select 
org.* 
from 
org, zips 
where
org.zip = zips.zip
and <zip code sql goes here>

i usually just use a rough zip code distance check using a square box.

ophir

On 6/21/05, harvey <list at harveyk.com> wrote:
> Hello,
> 
> I've got code that queries the 'zipcode' tables in a database and finds the
> zips that are within X miles of Y zip code. Works fine.
> 
> <?php
>        $z = new zipcode_class;
>                $zips = $z->get_zips_in_range($zipcode,$distance);
>                if (empty($zips))
>                   { echo "Error: " . $z->last_error; }
>                else { foreach ($zips as $key => $value) { echo "<b>$key</b> is
> <b>$value</b> miles from <b>$zipcode</b>.<br>"; };  }
> ?>
> 
> Now I want to query the 'organization' tables and return all the orgs that
> have one of the zips found above. But I'm not sure how to go about it.
> Something like the following (which I know is incorrect)?
> 
> SELECT * FROM organizations WHERE org_zip IN ($zips)
> 
> Thanks in advance for your help...I'm sure it's some very basic concept I'm
> missing.
> 
> Harvey
> 
> _______________________________________________
> New York PHP Talk Mailing List
> AMP Technology
> Supporting Apache, MySQL and PHP
> http://lists.nyphp.org/mailman/listinfo/talk
> http://www.nyphp.org
>



More information about the talk mailing list