2012-06-18 3 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 Output

<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, который загружается в вышеуказанный i.e. loadallmyfinds с использованием предложения GET, но, к сожалению, это не работает.

Я сделал некоторые исследования в этом, и я верю, из моих ограниченных знаний, что я могу это сделать через XML, но я действительно не уверен, как его реализовать.

Я просто задавался вопросом, может ли кто-нибудь посмотреть на это, пожалуйста, и предложить некоторые рекомендации о том, как я могу это сделать, чтобы записи были отфильтрованы.

Большое спасибо и добрые пожелания

ответ

0

У вас есть идентификатор пользователя в качестве $idnum. Так что, пожалуйста, измените ваш АЯКС запрос от этого:

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». Как я уже сказал, я считаю, что лучший способ сделать это будет через XML-маршрут. С уважением – IRHM

+0

Хорошо, насколько я понимаю, 'loadallmyfinds.php' возвращает XML для всех пользователей, и вы хотите ограничить его определенным пользователем за раз, правильно? Дайте мне знать, и мы можем работать над решением. –

+0

Привет, @Pushpesh, большое вам спасибо за вашу дальнейшую помощь в этом. Да в принципе 'loadallmyfinds.php' извлекает данные из базы данных MySQL. Затем скрипт PHP обрабатывается через XML, и вы считаете правильным, что мне нужны только записи для текущего пользователя. Я добавил образец вывода XML в мой оригинальный пост, который может помочь. С уважением – IRHM

Смежные вопросы