Re: Modify Query, or sift through results?
| From: | Joseph Koenig | Date: | Thu, 28 Jun 2001 14:12:44 +0000 |
| Subject: | Re: Modify Query, or sift through results? | ||
| References: | 1 2 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-9927@lists.php.net to get a copy of this message | ||
Ah ha..now it looks like we're on to something. I had to modify it a
bit, but it worked...for the most part. I had to make it rlike
"North[;|$]". But here's the next problem...I have a region 'Midwest'
and 'Upper Midwest'. When I do this search for Midwest, I get the 'Upper
Midwest' results also. So I tried rlike "[^|;]Midwest[;|$]" which
returned no results. If I'm thinking correctly, that should be saying:
Find the beginning of a string, or a semicolon, then "Midwest", then a
semicolon, or the end of a string.
Is that correct? Thanks,
Joe
Jason Stechschulte wrote:
>
> On Wed, Jun 27, 2001 at 08:54:04AM -0500, Joseph Koenig wrote:
> > I've got a script that searches a db every night and sends out e-mail if
> > it finds something a person would be interested in, based on criteria
> > they gave us. The problem is that I have one field that stores regions
> > of the country in a very unpleasant way. It stores them as:
> >
> > Northeast;West;South
> >
> > So all of the regions for one record go into one field. The problem is
> > that when searching that, if someone has a preference of 'North', I
> > dont want to pull records that have 'Northeast', as would happen with
> > the above example. Is there a way to modify the MySQL query so as to
> > find only 'North', keeping in mind that 'North' may be the 3rd in a
> > list
> > of semi-colon separated regions? Or do I need to sift through the
> > results in PHP to clean them up? Thanks,
>
> You can certainly have MySQL do the work. I can't modify your query,
> because you didn't give it to us, but I can give you an example.
>
> <?php
> $sql = select * from your_table where your_column rlike "North(;|$)";
> ?>
>
> This will do a regular expression match. If either North with a semicolon
> directly after it or North and the end of the string is found, the
> row will be returned.
>
> --
> Jason Stechschulte
> jpstech@unoh.edu
> --
> If you're going to define a shortcut, then make it the base [sic] darn
> shortcut you can.
> -- Larry Wall in <199709241628.JAA08908@wall.org>