1

まず第一に、私はPHPスクリプトに関しては完全な初心者なので、このスクリプトをWebサイトから入手しただけで、作成者はそれが完全に機能したと言っています。

 <?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を介して使用されます:Webサイト

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 に答える