2013-11-02 25 views
0

我已經做了一個頁面,用戶可以上傳狀態,然後顯示在一個只讀的textarea。我的問題是,我想顯示狀態上傳到顯示狀態下的textarea上的時間,但這不起作用。我可以在第一個textarea中顯示任何我想要的東西(包括狀態上傳時間,使用相同的['time_posted']標籤),但即使我整體複製第一個textarea,第二個textarea中也不會顯示任何內容。我不知道是什麼導致了這一點,也無法看到我可能會出錯的地方,所以我非常感謝有關問題的反饋。 PS:我知道mysql(正在使用中)不推薦使用,所以不要打擾告訴我關於mysqli和PDO的信息。我最終會替換所有相關的代碼。PHP:相同的mysql_fetch_array語句在一個地方工作,但不在另一個地方

<textarea readonly style="position:absolute; top:54%; left:45.2%; 
    border-style: none; border-color: Transparent; overflow: auto; resize:none;" 
    cols="16" rows="3"><?php while ($row = mysql_fetch_array($showstatus)) 
    {echo $row['status'] . " ";}?></textarea> 

    <textarea readonly style="position:absolute; top:63%; left:45.2%; 
    border-style: none; border-color: Transparent; overflow: auto; resize:none;" 
    cols="16" rows="3"><?php while ($row = mysql_fetch_array($showstatus)) 
    {echo $row['time_posted'] . " ";}?></textarea> 
+0

'我會最終取代所有相關的代碼。 ':相反,我最終將被迫'替換所有相關的代碼。 –

+0

哈哈,我知道,但它是一個非常緊湊的項目,所以這不會太大。 –

回答

1

我以前從來沒有使用過它,但你可以重新設置你的mysql數據指針與mysql_data_seek(0)。考慮一下,這可能會比使用一個數組存儲少一點的內存,但它可能會持續很長的數據庫連接。

Reference:

+0

這是一個非常好的答案。如果我問過這個問題,我會接受這個答案。 –

+0

非常好,是的,它使用mysql_data_seek($ showstatus,0);代碼的其餘部分。謝謝一堆。 –

0

第二個不打印,因爲你的第一個循環之後的指針到達值的結束,也沒有更多的價值來獲取

while ($row = mysql_fetch_array($showstatus)) 

它完成後,你才能獲取更多來自同一個對象的值,因爲您已經到達記錄的末尾。

解決方案:

醚再次讀取該結果,或在你的第一個循環創建一個新的數組,然後遍歷數組你的第二個循環。

創建你喜歡$values=$row[]第一循環的新數組。像

第一循環

<?php while ($row = mysql_fetch_array($showstatus)){echo $row['status'] . " "; $values[]=$row;}?> 

然後改變你的第二個循環,

foreach($values as $row) 

<?php foreach($values as $row){echo $row['time_posted'] . " ";}?> 
+0

感謝您的快速響應!有沒有一種方法可以'重置'循環爲第二個textarea做同樣的事情? –

+0

是的,看到編輯 –

+0

看到@jdog的答案,這比我的好得多。 –

相關問題