获取数组详细信息PHP

时间:2016-03-18 01:46:04

标签: php arrays get

我在此页面上有一个谷歌地图,所有标记都是通过提交邮政编码生成的。所以我有下面的数组,每个标记的循环信息,  作为(" 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']; 

3 个答案:

答案 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提供的编码技巧。