![](/img/trans.png)
[英]How do I display something only if there are results in the array from a query?
[英]How do I display search results from URL query strings?
我完全被这个困扰。 可能是如此简单,以至于我看不到它。
我有一个网站,我正在该网站上,我需要在外部网站(目前只有一个)上搜索基于JSON查询字符串的文件,并能够从页面上的查询返回搜索结果(基本上是一个小型搜索引擎) 。
我需要如何连接的示例(收到的电子邮件):
http://EXAMPLEDOMAIN.com/api/start_parcels_txn?client=t3vDwH&spatial_intersect=[wkt_geometry]
其中[wkt_geometry]是URL编码的OGC熟知的文本点或多边形几何。 Google和Bing使用的空间参考系统是Spherical Mercator:EPSG 3785/3857/900913。
服务器响应是一个JSON编码的对象,在成功的情况下,它看起来像:{“ status”:“ ok”,“ parcel_count”:[匹配的包裹数],“ txn_id”:“ [[交易ID字符串]” }
或失败的情况下:{“ status”:“错误”,“ error_message”:“ [错误消息字符串]”}
例如,要在落入位于阿拉巴马州伯明翰市1400 University Blvd的包裹中的坐标(-9663031.13,3962292.03)处进行点查询,请形成一个点字符串:
要点(-9663031.13,3962292.03)
然后对其进行urlencode并作为“ spatial_intersect”值传递 :http: //EXAMPLEDOMAIN.com/api/start_parcels_txn?client=t3vDwH& spatial_intersect = POINT(-9663031.13%203962292.03)
服务器的响应是 :{“状态”:“确定”,“包裹计数”:1,“ txn_id”:“ sADaOswk3DlfvCLDEFWu7p3Sv”}
要执行与上一个宗地和其他两个宗地相交的矩形查询,并使用矩形的左下坐标(-9663128.4741915,3962254.4093738)和右上坐标:(-9663033.5250705,3962386.9798447)组成多边形字符串:POLYGON(((-9663128.4741915) 3962254.4093738,-9663128.4741915 3962386.9798447,-9663033.5250705 3962386.9798447,-9663033.5250705 3962254.4093738,-9663128.4741915 3962254.4093738)
然后对其进行urlencode并作为“ spatial_intersect”值传递 :http: //EXAMPLEDOMAIN.com/api/start_parcels_txn?client=t3vDwH& spatial_intersect = POLYGON(((-9663128.4741915%203962254.4093738,-9663128.4741915%203962386.9798447%-9663033.5250 ,-9663128.4741915%203962254.4093738))服务器的响应为:{“ status”:“ ok”,“ parcel_count”:3,“ txn_id”:“ 9skFh7PNdZYJgXyAgDnRXrIWJ”}
我希望能够使用HTML表单(例如邮政编码,地址等)来输入用户输入的字段,然后希望能够在类似于上述示例的外部网站上进行搜索并将结果显示在同一页。 我在寻找解决此问题的在线资源时遇到了麻烦,而且我不是一个编码员(更多是系统管理员),所以我有点被困在这里。 我可以理解代码,但不确定如何实现。
可以使用Javascript,HTML,PHP来完成,这并不重要,我试图将其弄清楚,也许如果存在的话,一个例子会有所帮助。 如果有人对此有任何见解,将不胜感激!
这是我到目前为止的代码(可从http://s31tech.com/json访问)。 我知道我还有路要走,如果您在POINT(-9663031.13%203962292.03)中输入空间相交字段,则会找到有效的响应:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form method="post" action="<?php echo $PHP_SELF;?>">
Address:<input type="text" name="address">
Spatial Intersect: <input type="text" name="intersect">
<input type="submit">
</form>
<br />
Address entered was: <?php echo $_POST["address"]; ?>
<br />
Spatial Intersect Coordinates: <?php echo $_POST["intersect"]; ?>
<br />
<br />
<?php
$url = "http://reportallusa.com/api/start_parcels_txn?client=t3vDwH&";
$spatial_intersect = "spatial_intersect=";
//$coordinates = "POINT(-9663031.13%203962292.03)";
$coordinates = $_POST["intersect"];;
$JSON = file_get_contents($url.$spatial_intersect.$coordinates);
// echo the JSON (you can echo this to JavaScript to use it there)
echo $JSON;
// You can decode it to process it in PHP
$data = json_decode($JSON, true);
var_dump($data);
?>
<br />
URL Path: <br />
<?php echo $JSON; ?>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.