用戶可以搜索的色彩,並將它們添加到自己的調色板數據庫..設計爲用戶定製的分組
所以,如果他們寫藍色,藍色會顯示出來,他們可以添加它。
等以紅,黃.......
但我想,如果他們選擇「深色」,然後灰黑色和棕色應予以補充。
今天I'm做這樣
if($color==darkcolor)
insert black and grey and brown...
有沒有更簡單的方式來實現這一目標。我有幾百個屬性,我想添加和坐和寫PHP如果,否則字符串要花費很多時間...
用戶可以搜索的色彩,並將它們添加到自己的調色板數據庫..設計爲用戶定製的分組
所以,如果他們寫藍色,藍色會顯示出來,他們可以添加它。
等以紅,黃.......
但我想,如果他們選擇「深色」,然後灰黑色和棕色應予以補充。
今天I'm做這樣
if($color==darkcolor)
insert black and grey and brown...
有沒有更簡單的方式來實現這一目標。我有幾百個屬性,我想添加和坐和寫PHP如果,否則字符串要花費很多時間...
你沒有一個特定的PHP/MySQL的問題在這裏。
您最好的選擇是將屬性添加到您的色彩數據庫
例如
Name Attribute
Green Natural, Light
Brown Natural, Dark
的,你可以簡單地SELECT Name FROM Colours WHERE Attribute LIKE <Query String>
如果有屬性類別的數量有限,那麼你可以通過添加列的名稱,如「輕」,「主題」等進一步專注表
我會建立一個有幾張表的數據庫。
colours
id
name
attributes
id
name
colour_attributes
colour_id
attribute_id
這樣一來,你可以跟蹤的顏色和屬性的無限量的,和領帶通過關聯表colour_attributes
屬性的顏色。
添加類別表,以便您可以跟蹤它們。然後,添加一個color_category表,以便可以有多對多的表格。像這樣:
CategoryID Category
----------------------
1 primary
2 dark
ColorID CategoryID
---------------------
1 1
1 2
2 2
ColorID Color
-----------------
1 red
2 brown
接下來,有一個UserPalette表看起來像這樣:
UserID ColorID
-----------------
1 3
1 4
因此,當用戶選擇dark
,你會運行此查詢:
insert into userpalette
select
$userId as userid,
c.colorid
from
category cat
inner join color_category cc on
cat.categoryid = cc.categoryid
inner join colors c on
cat.colorid = c.colorid
where
cat.category = '$category'
要抓住用戶的顏色,你會這樣做:
select
c.color
from
userpalette up
inner join colors c on
up.colorid = c.colorid
where
up.userid = $userid
如果你只是有一個用戶名:
select
*
from
users u
inner join userpalette up on
u.userid = up.userid
inner join colors c on
up.colorid = c.colorid
where
u.username = '$username'
顯然,通過mysql_real_escape_string()
確保你管一切,你把它放到一個SQL查詢之前。否則,你會打開SQL注入攻擊。
好的。那比較複雜。我已經獲得了2100個學校課程的XML文件..該用戶可以添加到時間表。問題在於一個學期的三門課程可能被稱爲課程A,B,C ..但是對於現實中的學生來說,它被稱爲課程X,它運行一個學期,而課程X包含那些a,b,c但是沒有永遠記得他們的名字。 我的夢想是要有一個簡單的後臺管理表單來說。 使coursenname X包含a,b,c 使coursename Z包含d,e,f – user165445 2009-08-29 21:18:43
顏色問題只是用簡單的方式來說明問題,抱歉我的壞詞彙 – user165445 2009-08-29 21:19:38