2017-02-24 10 views
0

私のアプリでは、3つのページの最初のページの表示タイプlistviewのマーカー(モール、スーパーマーケットなど)、同じタイプの第2ページの表示マーカーlistview、第3ページの表示の詳細各マーカーの表示マーカーリストビューは同じタイプのIDに属します

タイプページは正常に表示されましたが、同じtype_IDのマーカーのlistviewは表示されませんでした。

page 1 type listview

page 2 markers listview

(DBにおけるランドマークテーブル)

**L_ID , name , image, Type_ID** 
|1 , B_mall  , .jpg , 1| 
|2 , c_mall  , .jpg , 1| 
|3 , D_supermarket , .jpg , 2| 

PHPファイルクエリ

<?php 
    $dbhost = '127.0.0.1'; 
    $dbuser = 'root'; 
    $dbpass = ''; 
    $dbname = 'maalem'; 
    $sql = "SELECT * FROM landmarks where Type_ID=:id"; 

    try { 
     $con = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass); 
     $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
     $con->query('SET NAMES utf8'); 
     $stmt = $con->prepare($sql); 
     $stmt->bindParam("id", $_GET["Type_ID"]); 
     $stmt->execute(); 
     $markers = $stmt->fetchAll(PDO::FETCH_OBJ); 
     $con = null; 
     echo '{"items":'. json_encode($markers) .'}'; 
     } catch(PDOException $e) { 
     echo '{"error":{"text":'. $e->getMessage() .'}}'; 
    } 

?> 

種類のJS

var serviceURL = "http://localhost/map/";   //192.168.1.157         


var type; 

$('#typeListPage').bind('pageinit', function(event) { 
    gettypeList(); 
}); 

function gettypeList() { 
    $.getJSON(serviceURL + 'gettype.php', function(data) { 
     $('#typeList li').remove(); 
     type = data.type; 
     $.each(type, function(index, type) { 
      $('#typeList').append('<li><a href="marker.html?Type_ID=' + type.Type_ID + '">' + 
        '<img src="' + type.Icon + '"/>' + 
        '<h4>' + type.type_title + '</h4></a></li>'); 
     }); 
     $('#typeList').listview('refresh'); 
    }); 
} 

マーカーのJSが

var serviceURL = "http://localhost/map/";           
var markers;  
$('#markerListPage').bind('pageinit', function(event) { 
    getmarkerList(); 
}); 

function getmarkerList() { 
    $.getJSON(serviceURL + 'getmarkers.php', function(data) { 
     $('#markerList li').remove(); 
     markers = data.items; 
     $.each(markers, function(index, landmarks) { 
      $('#markerList').append('<li><a href="markerdetail.html?L_ID=' + landmarks.L_ID + '">' + 
        '<img src="pics/' + landmarks.Image + '"/>' + 
        '<h4>' + landmarks.Title + '</h4></a></li>'); 
     }); 
     $('#markerList').listview('refresh'); 
    }); 
} 

marker.Htmlは、ファイルファイルファイル

<!DOCTYPE HTML> 
<html> 
    <header> 
     <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
     <meta charset="utf-8"> 
    </header> 
    <body> 
     <div id="markerListPage" data-role="page" > 
     <div data-role="header" > 
      <h1>markers</h1> 
      <a href="index.html" data-rel="back" class="ui-btn-left ui-btn ui-btn-icon-notext ui-corner-all ui-icon-back"></a> 
     </div> 
     <div data-role="content"> 
      <ul id="markerList" data-role="listview" data-filter="true"></ul> 
     </div> 
     </div> 
    </body> 
</html> 
+0

何を探すべきかわかりません。コンソールまたはネットワークタブにエラーがありますか? – mplungjan

+0

コンソールに何も表示されていません。ページの画像を投稿しました。同じタイプのマーカーをページに表示したい2 – RAB

+0

Ajaxエラー処理を追加して、何が起こっているのかを確認する必要があります。 – mplungjan

答えて

1
var serviceURL = "http://localhost/map/";           
var markers;  
$('#markerListPage').live('pageshow', function(event) { 
var id = getUrlVars()["Type_ID"]; 
$.getJSON(serviceURL + 'getmarkers.php?Type_ID=' + id, getmarkerList); 

}); 

function getmarkerList(data) { 
     $('#markerList li').remove(); 
     markers = data.items; 
     $.each(markers, function(index, landmarks) { 

      $('#markerList').append('<li><a href="markerdetail.html?L_ID=' + landmarks.L_ID + '">' + 
        '<img src="pics/' + landmarks.Image + '"/>' + 
        '<h4>' + landmarks.Title + '</h4></a></li>'); 
     }); 
     $('#markerList').listview('refresh'); 

} 
+0

問題が解決する場合は、簡単な説明を追加して、将来の読者のための正解としてください。 –

関連する問題