2014-02-19 45 views
0

我有一個查詢獲取所有不同的行。我想將它存儲到一個數組中,並在每個循環中顯示它。誰能幫我。提前致謝。將字段存儲在一個數組中,並在php中顯示

這裏是我的代碼:

//PREPARE QUERIES 
//distinct effective dates 
$allsched = $this->prepare("SELECT DISTINCT effective_date,status,in_use FROM `working_sched` WHERE `emp_id` = ? "); 
$allsched->bind_param('i', $emp_id); 
$allsched->execute(); 
$allsched->bind_result($distinctdate,$stat,$in_use); 
$allsched->store_result(); 
$numrows = $allsched->num_rows; 

//check if query turned empty! 
if($numrows == 0){ 
    echo '<div id="error">Sorry no Working Schedule to be displayed for <b><i></i></b></div>'; 
}else{ 
//if query returned TRUE 
$effdatedist = array(); 
while($allsched->fetch()){ 
     $effdatedist[] = $distinctdate; //store the effective dates in an array 
     $effdatedist['stat'] = $stat; 
} 
$allsched->close(); 
} 

,並在我的foreach循環,我想顯示以下

foreach($effdatedist as $a){ 
    //display here 
    date, status, in_use 
} 
+0

什麼樣的陣列格式的你想要實現? '$ allsched-> fetch()'已經返回一個數組值。 – Vainglory07

+0

我想將返回的值存儲在數組中以將其用於另一個查詢。 – Raymond

+0

我想將$ allsched-> fetch()的返回值存儲在數組中,然後將其顯示在foreach循環中。但不幸的是我不知道如何將它存儲在數組中,以及如何顯示它:( – Raymond

回答

0

首先,你要添加到您的while循環:

while($result = $allsched->fetch(PDO::FETCH_ASSOC)){ 
    array_push($effdatedist, $result); 
} 

其中,fetch(PDO :: FETCH_ASSOC)返回按結果集中返回的列名索引的數組。所以,你的值可以然後以某種印刷這樣

foreach($effdatedis as $row){ 
    echo "Date: " . $row["effective_date"]; 
    echo "Status: " . $row["status"]; 
    echo "In Use: " . $row["in_use"]; 
} 

如果這不是你想要的fetch()方法返回再看看下面的PHP手冊頁列表陣列的類型所有的選項:

http://php.net/manual/en/pdostatement.fetch.php

+0

即時通訊不使用PDO Api即時通訊使用MySQLi – Raymond

0

如果你要處理他們每次一個(幾乎總是如此),那麼你就需要讓他們所有,並把它們放到內存第一 - 當你有成千上萬條記錄時,這會造成不好的結果,並且根本沒有任何好處。你一次一個地閱讀它們,並將它們放入一個數組中;那麼您就按照您放入的順序逐個讀取數組,然後處理它們。

相反,考慮將//display here代碼,你目前在你的foreach循環,直入while循環。即使你在循環中查詢,這也可以正常工作。您也可以考慮修改您的查詢,以便一次性獲取所有數據,而不是獲取數據的一部分,然後以每行一個查詢的形式獲取其餘數據。

另外,我剛剛意識到你有沒有問一個問題 - 你可能要修復它之前被關閉:)

+0

對不起,第一次發佈在這裏。無論如何感謝 – Raymond

+0

沒關係,我們都從我們的第一篇文章開始這就是爲什麼我警告過你,我不會關閉它,但是我看到一些我認爲應該保持開放的關閉。 –

0
while($effdatedist[] = $allsched->fetch(PDO::FETCH_ASSOC)); 

希望它有助於

相關問題