2015-08-21 66 views
0

php的新手,試圖瞭解數組。數組值的簡單回聲

下面的代碼有什麼問題?我需要將結果回顯出來以便將它們傳遞到另一個頁面。

<?php 

$stmt = $conn -> prepare(" 
    SELECT 
     MONTHNAME(TimeStamp), COUNT(*) 
    FROM 
     transactions 
    WHERE 
     TimeStamp BETWEEN '2014-01-01' AND '2014-12-31' 
    GROUP BY EXTRACT(MONTH FROM TIMESTAMP);"); 

$stmt -> execute(); 

$stmt -> bind_result($month, $days); 

while ($stmt -> fetch()) { 
     $data[] = array(
     'month' => $month, 
     'day' => $day); 
    } 

print_r($data); 

$data = array(); 

foreach($data as $row) { 
    echo $row['month']; 
    echo $row['day']; 
} 

$stmt->close(); 

?> 

當我print_r($data)我可以看到以下列格式陣列細。

Array ([0] => Array ([month] => January [day] => 323537) [1] => Array ([month] => February [day] => 217304) [2] => Array (... 
+5

你意識到你有一個空數組覆蓋您的數組:'$數據=陣列();'?! – Rizier123

+0

爲了將它傳遞到另一個頁面,您必須使用'header(「Location:your_path_to_the_second_page /.$ your_variables」);' – aldrin27

回答

1
print_r($data); 
**$data = array();** 

foreach($data as $row) { 
    echo $row['month']; 
    echo $row['day']; 
} 

您的print_r你的$的數據,然後將其設置爲空數組$數據=陣列(),並在foreach你試圖去通過一個空數組。

解決方案:

print_r($data); 

foreach($data as $row) { 
    echo $row['month']; 
    echo $row['day']; 
} 

$data = array(); 
+0

感謝您的解釋! –