2015-11-26 73 views
1

我必須把以json_encode specifed MySQL表列PHP柱從MySQL得到所有值json_encode

$fromdate  = $_GET['fromdate']; 
$getrezhiredh = safe_query(" 
    SELECT rezhour FROM rezhiredhours 
    WHERE rezdate = '".$fromdate."' ORDER BY rezhour 
"); 

$rows = array(); 
while($r = mysql_fetch_assoc($getrezhiredh)) { 
    $rows[] = $r; 
} 

print json_encode($rows); 

的所有值有了上面的代碼,我有一個問題。此代碼僅在表格中返回結果時,我們纔有一行含選定數據。在這種情況下json_encode()的結果是

[{ 「rezhour」: 「1」}]

但是,當表有多個行與選定的數據結果不返回任何東西,但

[] 

如何把json_encode()從表中選擇的所有值?


編輯:

我只是想知道爲什麼當我們在表中選擇的數據更多的行的情況下,結果並不如下面的例子

[{「rezhour」給予: {[0] => 「1」 時,[1] => 「4」}]

代替在結果,我們有 「[]」


謝謝你提前。

+0

這是奇怪的,它應該工作。嘗試'var_dump($ rows)',看看它有多行時實際包含的內容。 – apscience

+0

感謝您的評論。 仍然錯誤。 var_dump($ rows)只有當我們有一行數據時纔給出正確結果,否則返回數組(0){} – X9DESIGN

回答

0

嘗試改變從mysql_fetch_assoc

mysql_fetch_assoc($getrezhiredh) 

mysql_fetch_object($getrezhiredh) 
+0

我得到和上面相同的結果。 []當我們有多行數據時 – X9DESIGN

+0

刪除$ rows = array(); – davejal

+0

php錯誤 - 「未定義的變量:第X行的(...)行」 – X9DESIGN

0

結果是不同的比你想象的。每一行或多或少是這樣的:

array(1) 
    "rezhour" => "1" 

所以你訪問該數據是這樣的:

while($r = mysql_fetch_assoc($getrezhiredh)) { 
    $rows[] = $r["rezhour"]; 
}