Jump to content


This topic is now archived and is closed to further replies.



Recommended Posts

I am trying to create a select query to find the post town of a users post code. I am using Royal Mails (UK) post town gazetteer. UK Postcode (eg. RH6 9XJ). The first column contains the first half of the post code (eg. RH6) and the next column holds the range of the second half (eg. 2AA-6PP).


I have some code as follows:



$pc = explode(\" \",\"RH6 9XJ\");


\"SELECT postTown, postCode, SUBSTRING(postSector,1,3) as a, SUBSTRING(postSector,5,3) as b, postCounty FROM postCode WHERE postCode = \"\".$pc[0].\"\" AND \"\".$pc[1].\"\" BETWEEN SUBSTRING(postSector,1,3) AND SUBSTRING(postSector,5,3)\";


This will return 1 row for example if the first column was \"RH6\" and the second column was \"8ZZ-9ZZ\".


But in the post town list the range goes from 1 - 0 (eg. 1AA-0ZZ) so what I find is if I use the postcode \"RH6 9XJ\" and a first column of RH6 and a second column of 7AA-0BW it will not return the row as it does not count from 1 - 0.


The question is how can I use some sort of statement using mysql and php to select all rows between 1 and 0 NOT 0 and 9 like the above statement performs.


I have been trying to solve this for some weeks now.


Thank You.



Share this post

Link to post
Share on other sites


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.