0

こんにちは、関数構造の作成に問題があります。助けていただければ幸いです。

最初に、この関数は、 index.phpからOnChangeイベントがトリガーされると、マップ マーカーを削除する必要があります。データを取得するために、ポスト値をxmlmapquery.phpに送信します。取得したら、データはindex.phpに保存する必要があります<div id='content'>

function filter()
{ 
   for (var i = 0; i < markersArray.length; i++ ) {
      markersArray[i].setMap(null);
   }
   markersArray.length = 0;

   var lgu = $('#lgu').val();
   var category = $('#category').val();
   var type = $('#type').val();
   $.get('xmlmapquery.php', { filter: lgu, filter2: category, filter3: type},function(data){
        $('#content').text(data);
   )};
};

これはxmlmapquery.php です

<?php  
  include('connection_db.php');
  // Start XML file, create parent node
  $dom = new DOMDocument("1.0");
  $node = $dom->createElement("markers");
  $parnode = $dom->appendChild($node); 

  if(isset($_POST['filter']) && isset($_POST['filter2']) && isset($_POST['filter3'])){
     $query = "SELECT * FROM markers WHERE type='".$_POST['filter']."' and type='".$_POST['filter2']."'
                                        and type='".$_POST['filter3']."'";
  } 
  // Select all the rows in the markers table
  $result = mysql_query($query);
  if (!$result) {  
     die('Invalid query: ' . mysql_error());
  } 

  header("Content-type: text/xml"); 

  // Iterate through the rows, adding XML nodes for each
  while ($row = @mysql_fetch_assoc($result)){  
    // ADD TO XML DOCUMENT NODE  
    $node = $dom->createElement("marker");  
    $newnode = $parnode->appendChild($node);   
    $newnode->setAttribute("name",$row['name']);
    $newnode->setAttribute("address", $row['address']);  
    $newnode->setAttribute("lat", $row['lat']);  
    $newnode->setAttribute("lng", $row['lng']);  
    $newnode->setAttribute("type", $row['type']);
  } 
  echo $dom->saveXML();
?>

これについて助けていただければ幸いです。現在、マーカーを削除しても機能していません。これが機能するようになったら、データを取得してマップの新しいマーカーを作成するコマンドを関数に追加します。前もって感謝します。

4

1 に答える 1

2

スクリプト ロジックに問題がなく、die()null または false を返す php メソッドがない、または他の php メソッドが返されていないとします (いずれにせよ、ブラウザ コンソールに表示されるはずです)。

すべきことは次のとおりです。

1 - リクエストの起動時に firebug/chrome/browser コンソールを確認します (リクエストが何らかの方法で隠されている場合は、コンソールで「保存」リクエスト メソッドを使用して確認します)。

2 -var_dump($dom->saveXML());代わりに使用echo $dom->saveXML();

3 - 可能な場合はサーバー/php ログを確認してください

4 - リクエストの uirl が完全で機能していることを確認してください。$.get('xmlmapquery.php');

このデバッグ行に従えば、ゴーストが存在しない限り、スクリプトを簡単に実行できます。

それが役立つことを願っています

于 2012-12-29T14:43:55.883 に答える