2012-09-13 115 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