2012-07-01 133 views
-1

我试图从我的数据库显示我的网站上的评论。我知道我的连接正在工作,如$ test(显示“Array”)所示。mysql显示数据库数据

如何将数组转换为可用信息?这是我最好的拍摄,但它并不显示任何内容:

<?php 
$connect; 

$sql_get_topic_info = "SELECT * FROM wall ORDER BY time ASC"; 
$res_get_comments_info = mysql_query($sql_get_comments_info); 
$num_get_comments_info = mysql_numrows($res_get_comments_info); 
$test = mysql_fetch_array(mysql_query($sql_get_topic_info)); //just to make sure the connection is working 
echo $test; //displays "Array" 


//Runs comment loop 
$i=0; 
while ($i < $num_get_comments_info) { 

$sel_comments_info_time = mysql_result($res_get_comments_info,$i,"time"); 
$sel_comments_info_message = mysql_result($res_get_comments_info,$i,"message"); 
$sel_comments_info_company = mysql_result($res_get_comments_info,$i,"company"); 

echo "<li>Company: $sel_comments_info_company<br/>"; 
echo "Comment: $sel_comments_info_message <br/>"; 
echo "$sel_comments_info_time"; 
echo "</li>"; 

$i++; 
} 
?> 

更新脚本:(从下面的答案)

$result = mysql_query("SELECT company, message FROM wall"); 

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { 
printf ("company: %s message: %s", $row["company"], $row["message"]); 
} 

mysql_free_result($result); 

它打印:

company: company 1 message: message 1company: company 2 message: message 2company: company 3 message: message 3 
+0

'$ num_get_comments_info'是否大于0? – sachleen

+0

嗯,我在数据库中有大约15行,但是当我尝试打印$ num_get_comments_info时,什么都不显示。 –

回答

1

mysql_用法不鼓励,你应该使用mysqli_功能。

mysql_fetch_array文档:

$result = mysql_query("SELECT id, name FROM mytable"); 

while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    printf("ID: %s Name: %s", $row[0], $row[1]); 
} 

使用print_r($test)看到阵列以查看其格式。然后,您可以使用上面的循环以任意顺序显示它的各个部分。从你的数据库中的每个列是生成的行

row = [col1, col2, col3...] 

可以使用数组索引$row[0], $row[1]...访问他们进来。您可以通过查看数据库中列的顺序或查看它在print_r中的内容来查看订单。然后,您可以按照您想要的顺序将其回显出来。

+0

如何显示数组以查看其格式? –

+0

如果没有显示,可能有错误...检查错误日志? – sachleen

+0

真棒。我能够很好地打印数据。我只是想知道如何分解它,所以我可以显示第一行数据,然后添加自己的文本,然后添加第二行,等等......下面是我更新的脚本: –