2012-09-13 201 views
0

mysql數據庫的多個值,我想選擇從數據庫意見(身體,名稱和時間戳),然後打印在屏幕上。到目前爲止我的代碼:打印從PHP

$mycomment = db_query('SELECT comment,name,timestamp FROM comments WHERE nid = 246'); 

while($allcomments = db_result($mycomment)){ 

print($allcomments); 
} 

我的代碼只打印評論(一個值),我想打印somethign像「發佈註釋由NAME在TIMESTAMP」。任何人都可以用正確的語法來幫助我嗎?

+0

這是一個Drupal網站嗎? – AndrewR

+0

是的,這是一個Drupal第6位。 – Vonder

回答

0

根據Drupal的documentation,你應該用或者db_fetch_array()或db_fetch_object()而不是db_result()。

$mycomment = db_query('SELECT comment,name,timestamp FROM comments WHERE nid = 246'); 

while($allcomments = db_fetch_array($mycomment)){ 
    print($allcomments['comment'] . ' posted by ' . $allcomments['name'] . ' on ' . $allcomments['timestamp']); 
} 
+0

並請回答什麼是我的,你的代碼之間的區別? – tnanoba

+1

@DaHaKa這段代碼適用於Drupal,你提供了更多的一般,謝謝你們兩位! – Vonder

+0

@Vafello現在清楚了,對於誤解問題抱歉 – tnanoba

0

開始使用vardump($allcomments)代替print()

至少會顯示該數組,對象,你的內容或任何正在db_result

比你只需要適當地訪問該變量打印出來返回你想要什麼。

0

$ mycomment =請求mysql_query( 'SELECT註釋,名稱,時間戳記評論WHERE NID = 246');

而($ allcomments = mysql_fetch_array($ mycomment,MYSQL_ASSOC)){

回聲$ allcomments [ '註釋']「。由'發佈'。 $ allcomments [ '名']。 ' 上 '。日期( 「G:I A縮略詞,Y」,的strtotime($ allcomments [ '時間戳']));

}

試試這個......應該工作

+1

很好的回答,將工作。我特別喜歡你如何提供一個例子來重新設置時間戳的格式,如果他想。因爲他正在使用Drupal站點(原始問題中沒有披露),我建議的唯一更改是使用'db_query()'和'db_fetch_array()'封裝函數,如果代碼是分佈式的,或者他決定選擇不同的數據庫系統。 – AndrewR