2013-05-28 74 views
1

目前我有多對一的關係,我需要我的地圖查看器來顯示所有子記錄,而不僅僅是最後一條記錄。我研究並發現,我可能會重寫這個變量,這就是爲什麼最後一條記錄是唯一顯示的記錄。我做了測試,以確保所有記錄實際上都是通過使用提琴手來完成的。請幫忙。如何顯示來自JSON結果的所有子記錄不僅僅是最後一條記錄

以下的

<?php error_reporting(E_ERROR | E_WARNING | E_PARSE); 
$pole = $_GET["pole"]; 


// Connect to SQL Server database 
include("../connections/PubgisConnect.php"); 

// Construct query 
$tsql = "Select [dbo].[TRANS_POLE].[PoleID], [dbo].[TRANS_POLE].[PoleType], [dbo]. 
FROM [pubgis].[dbo].[TRANS_POLE] 
INNER JOIN [pubgis].[dbo].[TRANS_SIGN] ON [pubgis].[dbo].[TRANS_POLE].[PoleID][pubgis]  [dbo].[TRANS_SIGN].PoleID INNER JOIN [pubgis].[dbo].[TRANS_SIGNINSPECTION] ON [pubgis].[dbo].[TRANS_SIGN].SignID = [pubgis].[dbo].[TRANS_SIGNINSPECTION].SignID 
WHERE [pubgis].[dbo].[TRANS_POLE].[PoleID] = '$pole'"; 


// Execute query 
$stmt = sqlsrv_query($conn, $tsql); 
if($stmt === false) 
    { 
    echo "Error in executing query.</br>"; 
    die(print_r(sqlsrv_errors(), true)); 
    } 
$results = array(); 
// Retrieve and display the results of the query 
$lastFeatType = ""; 
while($row = sqlsrv_fetch_array($stmt,SQLSRV_FETCH_ASSOC)) { 
    array_push($results,$row); 
    } 

    echo json_encode($results); 

// Free statement and connection resources 
sqlsrv_free_stmt($stmt); 
sqlsrv_close($conn); 
?> 

代碼

見PHP代碼是從我的索引文件

dojo.xhrGet({ 
     url: "StreetSignsProfile.php", 
     handleAs: "json", 
     content:{pole: pole}, 
     load: function(data) { 
      for (var i=0;i<data.length;i++) { 
       var obj = data[i]; 
       var pole = obj["PoleID"]; 
       var encodedPole = encodeURIComponent(pole); 
     var na = "<span class='notAvail'>not available</span >"; 
       dojo.byId("idHeader").innerHTML = obj["PoleID"]; 
       dojo.byId("PoleType").innerHTML = obj["PoleType"]; 

       //Sign Code 
       dojo.byId("SignID").innerHTML = obj["SignID"]; 
       dojo.byId("SignCode").innerHTML = obj["SignCode"];. 

查看上面的結果 極信息 極式

+0

您很容易受到[SQL注入攻擊](http://bobby-tables.com)的影響。直到你瞭解它們並堵住漏洞之前,不要使用這些代碼。 –

+0

@Marc B好的謝謝。 – user1015418

+0

@MarcB你有什麼建議動態創建表或避免重寫變量? – user1015418

回答

0

看起來您在XHR請求的for循環中遺漏了一段代碼(因爲您沒有正確關閉所有內容)。問題可能在於此,因爲這是負責顯示所有信息的代碼。

現在我只能看到你每行寫入每行到同一個DOM節點(一遍又一遍),所以的確如此,你永遠不會看到整個表,而是最後一行。但是,這與變量無關,只是引用相同的DOM節點(使用dojo.byId())。

要創建動態結構,我建議您查看dojo/dom-construct模塊,該模塊允許您動態添加DOM節點。

相關問題