PHP脚本从phpbb SQL DB提供空输出

时间:2012-07-08 20:37:01

标签: php html sql phpbb3

首先:如果涉及PHP脚本,我是一个完全新手,所以我只是从网站上抓取这个脚本,作者说它运行得很好。

 <?php
// How Many Topics you want to display?
$topicnumber = 5;
// Scrolling towards up or down?
$scroll = "up";
// Change this to your phpBB path
$urlPath = "/forum";

// Database Configuration (Where your phpBB config.php file is located)
include 'forum/config.php';

$table_topics = $table_prefix. "topics";
$table_forums = $table_prefix. "forums";
$table_posts = $table_prefix. "posts";
$table_users = $table_prefix. "users";
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd") or die("Could not connect");
mysql_select_db("$dbname") or die("Could not select database");

$query = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id,
p.post_id, p.poster_id, p.post_time, u.user_id, u.username
FROM $table_topics t, $table_forums f, $table_posts p, $table_users u WHERE t.topic_id = p.topic_id AND f.forum_id = t.forum_id AND t.topic_status = 2 AND p.post_id = t.topic_last_post_id AND p.poster_id = u.user_id ORDER BY p.post_id DESC LIMIT $topicnumber";
$result = mysql_query($query) or die("Query failed");

echo "
";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "
";
}
print "

" .
$row["topic_title"] .
"    by: " .
$row["username"] .
"   
" .
date('F j, Y, g:i a', $row["post_time"]) .
"
";
mysql_free_result($result);
mysql_close($link);
?>

虽然当我使用它时,它给我一个奇怪的,因为输出是“通过:1969年12月31日,晚上7点”。而不是(它现在应该找到的唯一主题)“Test1 by:Cruciatum 2012年7月8日,晚上10点”。

任何可以弄清楚这有什么问题的人? (它通过本页右侧的iframe使用:Website

PS:它应该得到主题名称,作者,日期&amp;在我的phpbb3论坛中最后5篇帖子的时间。

PPS:这是iframe代码

<!-- Recent posts -->
<div class="divx" style="position:absolute; top:170px; right:10px; width:200px; height:300px;">
<iframe height="300px" width="200px" scrolling="no" src="fetch.php">
</iframe>
</div>

2 个答案:

答案 0 :(得分:1)

管理修复它:

<?php
// How Many Topics you want to display?
$topicnumber = 5;
// Scrolling towards up or down?
$scroll = "up";
// Change this to your phpBB path
$urlPath = "/forum";

// Database Configuration (Where your phpBB config.php file is located)
include 'forum/config.php';

$table_topics = $table_prefix. "topics";
$table_forums = $table_prefix. "forums";
$table_posts = $table_prefix. "posts";
$table_users = $table_prefix. "users";
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd") or die("Could not connect");
mysql_select_db("$dbname") or die("Could not select database");

$query = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.forum_id,
p.post_id, p.poster_id, p.post_time, u.user_id, u.username
FROM $table_topics as t, $table_forums as f, $table_posts as p, $table_users as u WHERE t.topic_id = p.topic_id AND f.forum_id = t.forum_id AND t.topic_status != 2 AND p.post_id = t.topic_last_post_id AND t.topic_last_poster_id = u.user_id ORDER BY p.post_id DESC LIMIT $topicnumber";
$result = mysql_query($query) or die("Query failed");

echo "";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "";

print "<a href=\"forum/viewtopic.php?f=" .$row["forum_id"] ."&t=" .$row["topic_id"] ."\"><font color=\"darkred\">" .$row["topic_title"] ."</font></a>       by: <a href=\"forum/memberlist.php?mode=viewprofile&u=" .$row["user_id"] ."\"><font color=\"darkred\">" .$row["username"] ."</font></a> 
" .date('F j, Y, g:i a', $row["post_time"]) ."<br/><br/>";
}

mysql_free_result($result);
mysql_close($link);
?>

添加链接&amp;当我在它的时候还有东西:&gt;

答案 1 :(得分:0)

典型的PHP脚本和典型的PHP问题 - 不检查任何内容。

  • 检查错误代码
  • 检查返回的行数
  • 检查发送到表的SQL
  • 手动运行SQL并检查结果

我相信你会明白的。