2012-06-18 37 views
0

我想知道是否有人能夠幫助我。首先,我對此表示歉意,這是一個非常基本的問題,我對使用XML非常陌生,所以請耐心等待。使用特定值檢索XML節點在downloadURL

我正在使用這部分代碼成功地從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,但我真的不知道如何實現它。

我只是想知道是否有人可以看看這個請提供一些指導,我可以如何去做這些記錄被過濾。

許多的感謝和親切的問候

回答

0

你必須在用戶ID爲$idnum。所以,請從此改變你的Ajax請求:

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

這樣:

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

,並在loadallmyfinds.php文件:

OLD COMMENT

我猜你可以在會話中存儲用戶標識($_SESSION['uid']=$userId;

...和你的loadallmyfinds.php文件中,讀取此會話變量並僅返回與用戶相關的內容。

+0

嗨@Pushpesh,謝謝你回覆我的帖子。不幸的是,我無法將會話開始合併到我的代碼中,因爲我正在使用一段軟件來處理'Session'類型的'Session''變量。正如我所說,我認爲最好的辦法是通過XML路線。親切的問候 – IRHM

+0

好吧,據我所知,'loadallmyfinds.php'爲所有用戶返回一個XML,並且你想一次限制它到一個特定的用戶,對吧?讓我知道,我們可以努力尋求解決方案。 –

+0

嗨@Pushpesh,非常感謝您對此持續的幫助。是的,基本上'loadallmyfinds.php'從MySQL數據庫中提取數據。 PHP腳本然後通過XML進行分析,並且假設我只希望返回當前用戶的記錄,這是正確的。我已經將XML輸出樣本添加到了我的原始文章中,這可能有所幫助。親切的問候 – IRHM