-1

投稿が表示された回数を反映するために、一種のビューカウントを作成しようとしています。

テーブルの read という列に +1 を追加する関数を mysql で作成しようとしています。そのため、列のカウントが 0 から始まり、誰かがその投稿を開くたびに、ページがアクセスされた回数に応じて 1 が追加され、別の 1 が追加され、別の 1 が追加されます。

私はこれをやろうとしていますが、惨めに失敗しています。誰かがこの種のことを達成する方法を教えてください。

function read_forum_set() {
    global $connection;
    global $forum_id;
    $query = "SELECT *
            FROM ptb_forum, ptb_profiles
            UPDATE ptb_forum.read_forum +1
            WHERE ptb_profiles.user_id = ptb_forum.from_user_id
            AND ptb_forum.id = '$forum_id' ";
    $read_forum_set = mysql_query($query, $connection);
    confirm_query($read_forum_set);
    return $read_forum_set;
}
4

2 に答える 2

0

join を使用して更新する必要があります。

update ptb_forum
join ptb_profiles on ptb_profiles.user_id = ptb_forum.from_user_id
set ptb_forum.read_forum = ptb_forum.read_forum + 1
where ptb_forum.id = $forum_id

何をするにしても、update ... set column = column + 12 つの別個のクエリ (古いカウントを読み取るためのものと更新するためのもの) を使用しないようにしてください

于 2013-03-14T00:49:06.020 に答える
0

まず第一に、健全性のためにクエリを分離した方がよいでしょう。

インクリメントクエリに関しては、非常に単純です

UPDATE table 
SET column = column + 1
WHERE foo = bar
于 2013-03-14T00:49:54.280 に答える