私は楽しみと練習のためだけに小さなフォーラムを作成していますが、おそらくそれを実際に実行することはありません。私は本当の PHP の第一人者ではなく、ただの趣味です。現在、編集投稿機能に取り組んでいます。私が理解しようとしている 1 つのことを除いて、すべてが完璧です。それは、ユーザーが編集した後にユーザーをフォーラムの投稿にリダイレクトする方法です。すべての専門フォーラムのように。
1 ページあたり 10 件の投稿を表示しています...
とにかく、これは私がどこまで来たかです。これで、トピックのページ数はわかりましたが、特定の投稿がどのページにあるかを判断する方法を理解しようとしています。正直なところ、私にはわかりません。グーグルを試しましたが、役立つものが見つかりません。何を検索すればよいのかよくわかりません。
ところで、投稿を日付順に並べ替えます。さらに情報が必要な場合はお知らせください。うまくいけば、誰かが私を正しい方向に向けることができます。おそらく、投稿にリダイレクトする方法をもっとよく知っているでしょう。私はすぐにPDOを調べるつもりです:)嫌いにならないでください。
editpost.php
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
// Fetch some info about the topic and/or the forum
$query = mysqli_query($link, "SELECT * FROM posts
WHERE id = $id");
// Someone pressed "Edit Post"
if (count($_POST) > 0) {
// validate stuff
update post...
}
// See if there is more than one pages so we can redirect to the correct message, how we are gonna know which page the post is on i have no idea
$totalCount = "SELECT COUNT(*) as 'Total' FROM posts WHERE topic_id = $row->topic_id";
$rsCount = mysqli_query($link, $totalCount) or die(mysqli_error($link));
$rowCount = mysqli_fetch_object($rsCount);
$numOfPages = ceil($rowCount->Total / 10);
// just now during development to see if it counted correct
// there is more than 10 posts so we must determine which page this post belongs on
if ($rowCount->Total > 10)
echo "Page: $numOfPages";
header("Location thread.php?id=$id&page=???#post$id");
テーブルは次のようになります。
topics
id | subject | postdate | forum_id
posts
id | poster_id | message | postdate | topic_id