【发布时间】:2015-01-21 14:07:21
【问题描述】:
我目前有这个代码,它将所有信息保存到数据库中,但我希望能够允许用户使用他们的邮政编码进行搜索,因此只显示他们选择的半径内的结果,例如。 1 英里、2 英里等我不知道该怎么做。
<form action="addhobby.php" method="POST">
Type:<input type="radio" name="type" value="meetup" checked>Meetup
<input type="radio" name="type" value="chat" checked>Chat
<br />
Hobby:<input type="text" name="hobby" value=""><br />
Location:<input type="text" name="location" value=""><br />
Postcode:<input type="text" name="postcode"><br />
Starts: <input type="date" name="startdate"> <input type="time" name="starttime"><br />
Ends: <input type="date" name="enddate"> <input type="time" name="endtime"> <br />
Description: <input type="text" name="description"><br />
<input type="submit" name="submit" value="Create">
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $con);
$sql="INSERT INTO activities (hobby, location, postcode, sdate, stime, edate, etime, description, type) VALUES
('$_POST[hobby]','$_POST[location]', '$_POST[postcode]', '$_POST[startdate]', '$_POST[starttime]', '$_POST[enddate]', '$_POST[endtime]', '$_POST[description]', '$_POST[type]' )";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
header("location:profile.php");
mysql_close($con)
?>
【问题讨论】:
-
你需要一些坐标,比如纬度和经度来计算距离。
-
您需要对数据库中的经纬度条目进行一些空间查询。一个快速的谷歌让我看到这篇文章:xarg.org/2009/12/people-near-you-with-mysql。或者另一个:plumislandmedia.net/mysql/haversine-mysql-nearest-loc。空间方面的东西相对复杂,所以准备好做一些工作吧。
标签: php mysql html geolocation