現時点では、ユーザーが最近見たものの簡単な履歴ページを表示できるように、ユーザーの過去20回のメディアビューを記録しています。
これを行うには、メディアIDをテーブルに挿入します。
テーブルを小さいサイズに保つために、現在はユーザーあたり20アイテムしかないため、行を挿入する前に、現在そこにある履歴IDの数を確認します。20未満の場合は、新しい行を挿入します。 20次に、新しい行を挿入する前に、最後の行を選択して削除する必要があります。
$historyResult = mysql_query("SELECT id FROM mediatable WHERE userId = $userId ORDER BY id ASC");
if(mysql_num_rows($historyResult) >= 20)
{
$historyResult = mysql_query("SELECT id FROM mediatable WHERE userId = $userId ORDER BY id ASC LIMIT 1");
$historyRow = mysql_fetch_row($historyResult);
mysql_query("DELETE FROM mediatable WHERE id = '$historyRow[0]'");
}
mysql_query("INSERT INTO mediatable (userId, mediaId) VALUES ($userId, $mediaId))");
私は現在、サイトをより最新のコードに変換しており、pdoクエリを使用する予定です。私の質問は次のとおりです。
上記はこれにアプローチするための良い方法ですか、それとも挿入時にMySQLトリガーなどの別の方法を使用する必要がありますか?