0

我想知道是否有人可以帮助我。首先,我很抱歉这是一个非常基本的问题,我对使用 XML 很陌生,所以请多多包涵。

我正在使用这部分代码从 MySQL 数据库中成功加载标记数据,并将它们放置在 Google 地图上。

            downloadUrl("loadallmyfinds.php", function(data) {  
            var xml = parseXml(data);
            var markers = xml.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++) { 
            // obtain the attribues of each marker 
            var lat = parseFloat(markers[i].getAttribute("findosgb36lat")); 
            var lng = parseFloat(markers[i].getAttribute("findosgb36lon")); 
            var point = new google.maps.LatLng(lat,lng); 
            var locationname = markers[i].getAttribute("locationname"); 
            var finddescription = markers[i].getAttribute("finddescription"); 
            var html = "<b>" + 'Description: ' + "</b>" + finddescription; 
            var findcategory = markers[i].getAttribute("findcategory"); 
            // create the marker 
            var marker = createMarker(point,html,locationname,finddescription,findcategory);
            } 

XML 输出

<markers>
<marker userid="27" findid="1" locationname="Test Location 1" findosgb36lat="53.0000" findosgb36lon="-1.00000" osgridref="" dateoftrip="21/06/2012" findcategory="Artefact" finddescription="A rare Roman vase."/>
</markers>

userid我遇到的问题是,在当前状态下,无论用户如何,都在检索所有记录,但更准确地说,如果元素值与表单上的变量匹配,我需要使该用户特定$idnum

我认为我可以通过上面加载的 PHP 查询来做到这一点,即loadallmyfinds使用GET子句,但遗憾的是这不起作用。

我已经对此进行了一些研究,并且我相信,根据我有限的知识,我可以通过 XML 实现这一点,但我真的不确定如何实现它。

我只是想知道是否有人可以看看这个,并提供一些关于我如何去做的指导,以便过滤记录。

非常感谢和亲切的问候

4

1 回答 1

0

您在 as 中有用户 ID $idnum。因此,请从此更改您的 ajax 请求:

downloadUrl("loadallmyfinds.php", function(data) {

对此:

downloadUrl("loadallmyfinds.php?id=<?php echo $idnum?>", function(data) {

并在loadallmyfinds.php文件中:

旧评论

我想您可以将用户标识存储在会话中($_SESSION['uid']=$userId;

...并在您的loadallmyfinds.php文件中,读取此会话变量并仅返回与该用户相关的内容。

于 2012-06-18T14:09:08.383 回答