我在此页面上有一个谷歌地图,所有标记都是通过提交邮政编码生成的。所以我有下面的数组,每个标记的循环信息, 作为(" array"," array")格式内爆,我试图点击一个infoWindow并在details.php上显示相应的标记详细信息。 问题是按钮onclick事件上的所有内容,只有一个简单的get on the second page。
这是有效的,但这是一种非常糟糕的方式。因为URL长度限制和安全性原因;
我希望能够从details.php页面获取数组信息,
并且按钮onclick事件触发器网址如下所示:details.php?marker=id
我不知道最好的方法是什么,有人能指出我正确的方向吗?
的index.php
$info = array();
foreach($stmt as $x)
{
$info[] =
"<h4>" . $x['name'] . "</h4><hr />".
"<h5>Address: </h5>" . $x['Address']."<br />" .
"<h5>Postcode: " . $x['postcode'] ."</h5><br />" .
"<button onclick='window.location.href= \\\"details.php?marker=". "<h4>" . $x['name'] . "</h4><hr />".
"<h5>Address: </h5>" . $x['address']."<br />" . "<h5>Postcode: " . $x['postcode'] ."</h5><br />" . "\\\" ' >
View Details</button>";
}
$i=' "'.implode('","', $info).'"';
details.php
echo $infomarker = $_GET['marker'];
答案 0 :(得分:0)
尝试使用AJAX从details.php获取信息,然后将其加载到InfoWindow中。
答案 1 :(得分:0)
您必须使用$x['id']
$x['name']
的{{1}}内容,这在您的数据库中是唯一的,并且还使用base64_encode()
加密您的身份"details.php?marker=".base64_encode($x['id'])."
在你的details.php中
$infomarker = base64_decode($_GET['marker']);
答案 2 :(得分:0)
我没有意识到这是多么简单,我只需要使用该id,在详细信息页面的sql语句中写入它然后调用语句的任何部分。感谢大家。感谢@Manjeet Barnala提供的编码技巧。