2014-03-14 99 views
0

通過$ .getJSON從mysql表中檢索數據。但是,如果數據集大於199條記錄,結果將顯示從200開始的「未定義」。這不是數據(我認爲)的問題,因爲當我在查詢中反轉我的訂單時,之前在列表末尾「未定義」的數據現在在列表頂部完全可讀,數據在最初的底部是「未定義的」。

$.getJSON("", {a:'data',order_by:orderby}, function (data) { 
    if(data) { 
     $.each(data.data, function (i, data) { 
     ... // nothing special here, just format and output the data to a table 
     } 
    } 
} 

檢索數據:

$result = $con->query("select t1.id ..."); 

if($con->numRows($result)) { 
    while($aData = $con->fetchAssoc($result)) { 
     $aData = utf8_json($aData); 
     $data[] = $aData; 
    } 
} 

echo json_encode(array('data'=>$data)); 

有什麼想法?

SQL語句:

select t1.id, t1.klnr, t1.soort, t1.datum, t1.tijd, t1.flag_afgesloten,flag_opvolging, 
t2.lijn1, t2.lijn2, t2.lijn3, t2.lijn4, t2.telefoon, t2.gsm, t1.sig, t1.gemaild, 
t1.gemaildnaar, t1.flag_gefactureerd, t1.flag_delstatus 
from bon_v1 t1 left join pp_klanten t2 on t1.klnr = t2.nr 
where t1.flag_live = 1 
order by " . $orderby . ";" 

我也嘗試返回,而不是從表中的數據固定值:這也導致了「不確定」的記錄200

+0

請發佈您的SELECT查詢和表格結構,也許有一些樣本值。 jQuery和PHP很可能不會造成這種情況。 – ToBe

+0

添加了SQL語句+關於測試的信息我剛剛使用固定值而不是mysql數據庫中的值運行。 – nickvandyck

+0

我們需要一個簡單的例子來重現問題。至少要找出問題所在。如果SQL與該問題無關,請將其除掉(用循環生成假結果)。檢查生成的json輸出等。 –

回答

0

開始,我相信這是因爲你的bon_v1表中有一些數據比pp_klanten表不會得到相應的記錄,通常所說的是左表有數據超過右表,試圖搜索Sql語句的「左連接」和「右連接」之間的區別。