好吧大家。目標是建立一個用戶可以搜索郵編或位置的搜索框。
數據庫被設置了,像這樣:
location_id location_name location_postcode
1 bristol bs
2 glasgow g
有些郵政編碼開始,只有一個英文字母和一些開始有兩個,如上面的數據庫的例子。現在,下面的代碼將$ location_search變量更改爲第一個字母,如果是隻有一個字母的郵編,或者是兩個字母的郵政編碼,則爲兩個字母。現在如果它的位置如布裏斯托爾。它會忽略郵編並將整個單詞分配給變量$ location_search。
現在我剛剛完成了這段代碼。它可能會更好,但它的工作。一旦它被分配給變量,你可以使用它來運行mysql查詢。
<?php //Assign location ID
$location_word = mysql_real_escape_string($_POST["location_input"])
if(!empty($location_word)){
//Remove spaces
$location_word = str_replace(" ", "", $location_word);
//Work out if it's a postcode or a location.
$location_3rd_character = substr($location_word, 2, 1); //Get third character
if(!ctype_alpha($location_3rd_character)){ //Check if it's a number or not
$location_type = "postcode";
}
else {
$location_type = "city";
}
if($location_type == "postcode"){ //Definding the postcode search, strip down to first or second letter.
$location_2nd_character = substr($location_word, 1, 1);
if(!ctype_alpha($location_2nd_character)){ //Trim postcode down to one letter, if only one letter in postcode.
$location_search = substr($location_word, 0, 1);
}
else { //Trim postcode down to two letters, if only two letter in postcode.
$location_search = substr($location_word, 0, 2);
}
}
else {
$location_search = $location_word;
}
?>
你能分享你的表格描述嗎? search_locations中的列是什麼? –
「某人類型'bs3 5qu'。我想要結果顯示布裏斯托爾,其中有郵編'bs'「 - 你的代碼應該已經這樣做。你是說它不這樣做? – user1477388
是的,我目前的代碼不起作用。 –