私はこのデータベーススキーマを作成しました。ここにいくつかのユーザーの助けを借りて、ビジネステーブルに格納されたユーザー入力のビジネスエントリを取得するデータベースがあります。 tbl_works_catagoriesテーブル内のcatagoriesテーブルからの約10個のカテゴリーのうちの1つまたはいくつかを、バスIDとカテゴリーIDとを照合することによって決定する。PHP/MySQLリレーショナルデータベーススキーマの検索コードとロジック
は、例えば、BUS_ID 21は今8
CREATE TABLE `business` (
`bus_id` INT NOT NULL AUTO_INCREMENT,
`bus_name` VARCHAR(50) NOT NULL,
`bus_dscpn` TEXT NOT NULL,
`bus_url` VARCHAR(255) NOT NULL,
PRIMARY KEY (`bus_id`)
)
CREATE TABLE `categories` (
`category_id` INT NOT NULL AUTO_INCREMENT,
`category_name` VARCHAR(20) NOT NULL,
PRIMARY KEY (`category_id`)
)
CREATE TABLE `tbl_works_categories` (
`bus_id` INT NOT NULL,
`category_id` INT NOT NULL
)
、catagory_id 1、2、5、7と関連付けることができ、私は次のやりたいことをもとに事業を返します。検索機能がありますカテゴリー。たとえば、ビジネステーブルに入力されたビジネスの1つがベーカーズであり、入力されたとき、それはFood(catagory_id 1)およびtake-away(catagory_id 2)の下でカタラーゼに分類されました。
したがって、訪問者は食品カテゴリの下にリストされているビジネスを検索し、私たちのフレンドリー近隣のパン屋に返されます。
すべてのPHP/MySQLと同様に、私はちょうど論理の周りに頭を浮かべることはできません。
こんにちは、ありがとう、私は確かに、あなたの*いくつかの検索値*は、私のユーザーの検索やクエリから一致するIDは、明確にするために、これを与える確信しているので、PHPmyadminのtbl_work_catagoriesの外部キーを設定しましたか?ありがとう – Dan
+1外国キーのために。しかし、 'JOIN'を使用するようにクエリを変更し、' WHERE'を使って暗黙的に結合しないようにしてください。それは本当に古い構文です。 –
@Dan、はい、これはユーザーの検索クエリの一致するIDです。 @ypercube、前にJOINをしていない... – Dirk