2013-11-23 69 views
0

我想要做的是拉出下表中的所有行。顯示錶中最後一行值的PHP數組

$timeapp_id (this is the users id stored from session) 

如果用戶id爲8則$withComma返回的值應爲「5 7 34」

問題是什麼線echo $withComma;它是內部環路輸出上述值,但是當echo $withComma;在循環之外只有最後一個值被返回,所以當我通過$results4時只顯示最後一行(它是34)。

我該如何解決這個問題,以便echo $withComma;以外的循環顯示所有結果而不是最後一行?

$data2b = "select * from user_info where timesheet_approver_1 = $timeapp_id"; 

$result2b = mysql_query($data2b); 

while ($row2b = mysql_fetch_assoc($result2b)) { 

    $timesheet_approver_1 = $row2b['timesheet_approver_1']; 
    $timesheet_approver_2 = $row2b['timesheet_approver_2']; 
    $user_id2 = $row2b['user_id']; 

    $array = array(" ",$user_id2); 

    $withComma = implode(" ",$array); 

    echo $withComma; 

} 

echo "<br><br>($withComma)"; 

$results4 = mysql_query("select * from time_data where user_id in ($withComma) and status = 'Submitted' order by data_date desc limit $time_entry_display_rows;"); 
+0

感謝Kingkero改進我的格式我會盡量讓我的事情看起來更有條理,當我在將來發布。 – Sandy

回答

1

你覆蓋$arraywithComma變量每次循環的時間。

您需要在循環內的數組中累積您的值,然後在循環完成時對整個數組進行分解。

$array = array(); 

while ($row2b = mysql_fetch_assoc($result2b)) { 

    $timesheet_approver_1 = $row2b['timesheet_approver_1']; 
    $timesheet_approver_2 = $row2b['timesheet_approver_2']; 

    $array[] = $row2b['user_id']; 
} 

$withComma = implode(", ", $array); 
+0

Drat!如此接近,但迄今爲止大聲笑;)非常感謝Barmar現在我的代碼全部作品:)真的很感謝幫助! – Sandy

相關問題