0

私は楽しみと練習のためだけに小さなフォーラムを作成していますが、おそらくそれを実際に実行することはありません。私は本当の 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
4

2 に答える 2

0
$pagenumber = intval($postnumber / 10); //assuming 10 posts per page
于 2013-06-07T01:02:51.220 に答える
0

わかった。

$totalCount = mysqli_query($link, "SELECT COUNT(*) as 'Total' FROM posts WHERE topic_id =           $row->topic_id AND posted < $row->posted");
$rowCount = mysqli_fetch_object($totalCount);
$page = ceil($rowCount->Total / 9);
$redirect = ($page > 1) ? "&page=$page#post$id" : "#post$id";
于 2013-06-07T01:37:25.057 に答える