1

首先:如果涉及到 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);
?>

虽然当我使用它时,它给了我一个奇怪的输出是“by: December 31, 1969, 7:00 pm”。而不是(它现在应该找到的唯一主题)“Test1 by: Cruciatum July 8th, 2012, 10pm”。

谁能弄清楚这有什么问题?(通过本页右侧的 iframe 使用:网站

PS:它应该得到我的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>
4

2 回答 2

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);
?>

我在的时候还添加了链接和东西:>

于 2012-07-09T01:38:51.457 回答
0

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

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

我相信你会弄清楚的。

于 2012-07-08T22:00:08.697 回答