ページが表示されるたびに、ユーザーのIPとページIDがテーブルに入れられるページビューテーブルがあります。このテーブルでは、IP とページ ID の組み合わせごとに 1 つの行のみが必要です。主キーを ip に設定すると、各 ip は 1 つのページにのみ関連付けることができます。主キーをページ ID に設定すると、各ページに 1 つの IP のみが関連付けられます。
テーブルで繰り返すことができないのは、IP とページ ID の組み合わせであるため、これらの両方をキーにする必要があります。これどうやってするの?
$mysqli->query("INSERT INTO page_views (ip, page_id, view_key) VALUES ('$ip', '$page_id', '$view_key')
ON DUPLICATE KEY UPDATE page_key='$view_key'");
このようにセットアップを機能させる必要があります。そのため、誰かがページを表示するたびに、view_key が割り当てられ、テーブルに配置されます。そのページを表示しているその IP の記録が既にある場合は、view_key フィールドを上書きする必要があります。