2017-06-15 25 views
0

我是很新,web開發,我這裏有一個艱難的時間從數據庫中檢索一些信息檢索只有一排......我這樣做:如何使用的getJSON

function readLine(i) { 
    $.getJSON('../php/database.php', function(data) { 
     $.each(data, function (key, value) { 
      var output = ""; 
      var borderBegin = "<td style='border-left: 1px solid black;border-right:1px solid black;'>&nbsp;"; 
      var borderEnd = "&nbsp;</td>"; 
      key = i; 
      output = "<tr>" + borderBegin + key + borderEnd + borderBegin + value.name + borderEnd + borderBegin + value.firstname + borderEnd + borderBegin + value.tel + borderEnd + "</tr>"; 
      $("#resultsAdm").append(output); 
     }); 
    }); 
} 

我嘗試僅顯示在參數中傳遞給函數的i索引的行。我知道$.each(..)逐一檢索行(但顯示全部)。我無法想象如何只用一行來完成......感謝您的幫助!

+0

如果你有控制服務器代碼,你應該創建一個替代動作,它只返回一個特定的行。返回n個行忽略返回數據的99%是一次非常昂貴的調用。 – Nope

+0

我確實擁有PHP-MySQL部分的控制權。我試圖從PHP顯示該行,但沒有成功... – EricF

回答

0

我試着只顯示在參數傳遞給 功能

如果你只是想呈現從指數等於i行不追加,除非你的我的索引行有一場比賽。

在每次迭代開始時,檢查key是否匹配i,如果不跳到下一項。

if(key != i){return true;} 

key問鼎匹配i,處理線路,其追加然後打破使用return false.each循環。

我也注意到key = i,因爲這看起來不正確。

function readLine(i) { 
    $.getJSON('../php/database.php', function(data) { 
     $.each(data, function (key, value) { 

      if(key != i){return true;} 

      var output = ""; 
      var borderBegin = "<td style='border-left: 1px solid black;border-right:1px solid black;'>&nbsp;"; 
      var borderEnd = "&nbsp;</td>"; 
      //key = i; Not sure what this is for? 
      output = "<tr>" + borderBegin + key + borderEnd + borderBegin + value.name + borderEnd + borderBegin + value.firstname + borderEnd + borderBegin + value.tel + borderEnd + "</tr>"; 
      $("#resultsAdm").append(output); 

      return false; 
     }); 
    }); 
} 
+0

不確定Javascript中「<>」運算符的來自哪裏... – EricF

+0

錯字:)應該有'!=',我希望代碼中的意圖是明顯,你試過'!=' – Nope

+1

是的,我想! :) 謝謝 ! – EricF

-1

所以你的數據包含多行,但你只想要第一個?然後$.first()應該工作。

+0

不,這不是我想要的。我想顯示「i」行... – EricF