寻找搜索邮政编码列表的解决方案。我有一个文本文件,其中包含我们服务的一堆邮政编码。想在网站上有一个表单,要求用户输入他们的邮政编码,看看我们是否为该区域提供服务。如果是,请显示一条消息,说明我们这样做,如果没有,则表示我们不这样做。认为PHP对我的问题来说是最好的解决方案,但是当谈到这个时我就是一个完全的菜鸟。
我设置了表单,我只是不确定如何搜索文本文件并在另一个div中显示答案?
<form action="zipcode.php" method="post">
<input type="text" name="search" />
<input type="submit" />
</form>
更新:最好是AJAX解决方案!
答案 0 :(得分:1)
看到你的编辑......下面是PHP。
我会做像
这样的事情$lines = file("/path/to/file.txt", FILE_IGNORE_NEW_LINES); //reads all values into array
if(in_array($_POST['search'], $lines)){ //checks if ZIP is in array
echo "found zip code";
}else{
echo "zip code does not exist";
}
只要没有非常大量的邮政编码......这应该没问题。另外,您的文件格式是什么?这可能不起作用。
答案 1 :(得分:1)
(find_in_file_ajax.php)
<?php
$search = $_POST['search'];
$text = file_get_contents('zipcodes.txt');
$lines = explode("\n", $text);
if(in_array($_POST['search'], $lines)){ //checks if ZIP is in array
echo "ZIP code found";
}else{
echo "ZIP code does not exist";
}
?>
<!DOCTYPE html>
<html>
<head>
<style>
.update {
font-family:Georgia;
color:#0000FF;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$(".search_button").click(function() {
// getting the value that user typed
var searchString = $("#search_box").val();
// forming the queryString
var data = 'search='+ searchString;
// if searchString is not empty
if(searchString) {
// ajax call
$.ajax({
type: "POST",
url: "find_in_file_ajax.php",
data: data,
beforeSend: function(html) { // this happens before actual call
$("#results").html('');
$("#searchresults").show();
$(".word").html(searchString);
},
success: function(html){ // this happens after we get results
$("#results").show();
$("#results").append(html);
}
});
}
return false;
});
});
</script>
</head>
<body>
<div id="container">
<div>
<form method="post" action="">
<input type="text" name="search" id="search_box" class='search_box'/>
<input type="submit" value="Search" class="search_button" /><br />
</form>
</div>
<div>
<div id="searchresults">Search results: <span id="results" class="update"></span>
</div>
</div>
</div>
</body>
</html>
首先需要通过file_get_contents
访问该文件,然后展开每个条目并提取相关的邮政编码搜索。
假设zipcodes.txt文件采用以下格式:
43505
43517个
43518个
43526个
43543
注意:如果查询43505,则会找到它。与4350或3505不同,因此它是一个独特的查询。
请考虑以下事项:
<?php
$search = $_POST['search'];
$text = file_get_contents('zipcodes.txt');
$lines = explode("\n", $text);
if(in_array($_POST['search'], $lines)){ //checks if ZIP is in array
echo "ZIP code found.";
}else{
echo "ZIP code does not exist";
}
?>