你可以做你的建議是這樣的:
$sql = 'INSERT INTO `table` (`furnitured`) '
. 'VALUES ("' . implode(',', $_REQUEST["common_amenities"]) . '");';
最好的辦法是創建有很多的表關係數據庫中,一個是公寓,與不同的屬性和第三連接anotherone公寓與屬性。
TABLE apartment
id INT,
name VARCHAR
TABLE category
id INT,
name VARCHAR
TABLE attribute
id INT,
category_id INT,
name VARCHAR
TABLE app_attr
id INT,
app_id INT,
attr_id INT,
並添加數據:
INSERT INTO `category` (`id`, `name`) VALUES (1, 'furnitured');
INSERT INTO `category` (`id`, `name`) VALUES (2, 'common_amenities');
INSERT INTO `category` (`id`, `name`) VALUES (3, 'outdoor');
INSERT INTO `attribute` (`id`, `category_id`, `name`) VALUES (1, 3, 'Balcony');
INSERT INTO `attribute` (`id`, `category_id`, `name`) VALUES (2, 3, 'Pool');
INSERT INTO `attribute` (`id`, `category_id`, `name`) VALUES (3, 3, 'Sea view');
INSERT INTO `attribute` (`id`, `category_id`, `name`) VALUES (4, 2, 'Internet');
INSERT INTO `apartment` (`id`, `name`) VALUES (1, 'Seaview villa');
INSERT INTO `app_attr` (`id`, `app_id`, `attr_id`) VALUES (1, 1, 2); -- Has Pool
INSERT INTO `app_attr` (`id`, `app_id`, `attr_id`) VALUES (1, 1, 3); -- Has Sea view
現在,添加一個公寓的公寓表。每個屬性都被添加到關係數據庫app_attr中。現在,您可以輕鬆過濾出所有擁有互聯網的公寓。
這些屬性按category_id分類,如果這是您所希望的。
這是很難搜索'互聯網,游泳池'有公寓池嗎?
你不想這樣做。創建一個相關的表,並將common_amenities分別保存到其自己的行中,並使用另一個表中的相關ID。 – AbraCadaver
這裏是我的[Junction Table](http://stackoverflow.com/a/32620163)參數 – Drew
@AbraCadaver請你詳細說明一下嗎?我的理解是爲每一個表格都有不同的表格,但我有大約30個不同的「節」,比如'common_amenities','appliance'等等。我的意思是我相信在'select'語句中我將不得不' 「這麼多桌子? – EnexoOnoma