|
Posted by Gleep on 05/27/07 18:13
On Sun, 27 May 2007 16:46:34 GMT, joboils@hotmail.com wrote:
>On Sun, 27 May 2007 00:31:45 +0100, "peter" <submit@flexiwebhost.com>
>wrote:
>
>>> I've inherited a php/mysql app which sorts and displays UK postcodes.
>>> When sorting, it uses
>>> SELECT... WHERE postcode like "$postcode%"
>>> and for a $postcode of, say E, this works Ok except it brings to
>>> screen everything starting EH (for Edinburgh) *and* everything
>>> starting E (for East London). I need to refine this further. How do
>>> I bring to screen *only* those starting, say, E (for East London), S
>>> for Sheffield and G for Glasgow, etc?
>>> I think I need to be able to ignore any postcode whose second letter
>>> is *not* a letter but is a number or space, or blank, but I don't know
>>> how to do this.
>>
>>You can use regular expressions in mysql queries. Which could be 1 way of
>>doing what you wish.
>>
>Thank you for your response. Someone else mentioned the ctype_***()
>functions and they look just the job.
wait think the last post was wrong
try
where postcode REGEXP '^$postcode( |\d)';
you should also consider string case
$postcode = strtoupper($postcode);
select ..... WHERE UPPER(postcode) REGEXP '^$postcode( |\d)' ;
Navigation:
[Reply to this message]
|