私はビデオを保存するSQLデータベース、テーブル名:ビデオを持っています。このテーブルの関連する列は、id、category_id
およびvideo_id
です。
id は一意の id です。カテゴリに関係なく、すべての動画に異なる id があり、カテゴリに関係なく同じ id はあり得ません。
category_id
も一意であり、それぞれがカテゴリに割り当てられます。たとえば、Funny は 1 です。
このvideo_id
列に同じ値を持つ複数の行が存在する可能性があります。たとえば、ある動画が YouTube でホストされていて、まったく同じ動画が Vimeo でホストされているとします。次に、鏡があります。確かに、あなたはどのように考えていますか?データベースは、ページによって呼び出されるビデオへの埋め込みコードのみを保存します。
ビデオが表示されるクライアント側のページは、割り当てられた ID だけでビデオを呼び出します。言いましょう: - 誰かが面白いカテゴリを開きます。次に、クライアント側は次のように表示されます: from tablename videos where category_id
is 1. - YouTube と Vimeo の 2 つのミラーを持つ Funny Fails というビデオがあり、両方の行の ID は異なりますが、同じであると仮定しますvideo_id
。YouTube の Funny Fails ミラーは何らかの理由で id 1 を取得し、Vimeo は id 2 を取得しました (簡単にするため)。もちろん、両方のビデオにvideo_id
1 があり、1 の内部にありcategory_id
ます。
クライアント側の .php は単に ID を探します (例:/category_detail.php?id=1
または/videopage.php?id=1
.
これで、おそらくデータベースと、クライアント側がデータベースから情報を取得する方法について理解できたと思います。
やりたいことは、クライアント側のページに 2 つのオプションを追加するだけです。前の動画と次の動画です。
ID 110、123 を1video_id
内でブラウズしていると仮定しcategory_id
ます。ミラーはありません。
[前のビデオ] を押すと、1 のvideo_id
中に 122 がcategory_id
あり、動的な部分である ID 自体が検索されます。この ID は、ページを作成するリンクの一部でもあります。たとえば、これは の後に続く ID と同じ.php?id=XXX
です。
私はしばらく苦労してきましたが、解決策がはるかに簡単であることは知っていますが、どういうわけか解決できません。
ミラーの有無に関係なくvideo_id
、同じ 内で明らかに 124を検索する [次のビデオ] オプションも必要です。category_id