2012-01-13 71 views
0

我想從我們的「產品」表中顯示我們的所有產品。我們目前有六個。如何將一個MySql表中的值與PHP中另一個表的列名相匹配?

ID | description | url 

1....Product 1.....product1.php 

2....Product 2.....product2.php 

...

有些客戶可能只有兩個或三個這些產品。要確定客戶是否擁有特定產品,「company_profiles」表的值爲true或false。

ID | account_num | product1 | product2 

1....0000001.............1................0 

2....0000002.............1................1 

...

當我顯示用戶的信息,他們應該看到我們所有的產品,但我想顯示自己有第一,使它們看起來更大膽的分配類產品。他們沒有的產品也將被列出,但是顏色較淺,並且在產品下面。

我對如何用這兩個表完成此事的想法是選擇company_profiles中的列where account_num ='$ account_num'。

然後我會選擇產品表中的列。從這裏我將匹配描述(每個產品的唯一名稱)與company_profiles中具有相同名稱的列。與值爲true的列匹配的產品將通過其URL分配到變量中。其他產品將被分配給另一個變量。

while($row = mysql_query($query_where_we_match_true)) { 
    $trueproducts .= echo '<a href="' 
. $row['url'] . '" class="trueproduct">' . $row['description'] . '</a><br />'; } 

    echo $trueproducts; 

(重複$falseproducts

我認爲我可以找出顯示結果的物流......歡迎您提供您的想法,但我真的需要知道如何匹配列名稱......除非有更好的方法來做到這一點。

回答

1

解決方案是不要爲每個產品使用一列。相反,使用junction table

產品

ID Description URL 
------------------------ 
1 Product 1  product1.php 
2 Product 2  product2.php 
... 

公司

ID Account_num 
----------------- 
10 23873232 
11 32798372 
... 

CompanyProducts

Company_ID Product_ID 
------------------------ 
10   1 
10   3 
11   1 
12   2 
12   3 
... 
+0

我不知道如何在我的company_profiles表中沒有列每個產品的情況下完成此操作。你能進一步解釋嗎? – nitsuj 2012-01-13 21:37:38

+0

好的,請使用第三張表格來匹配它們。我發誓我把那些(company_products)寫在我的桌子上的這張紙上。現在要記住爲什麼我把它劃掉了...... – nitsuj 2012-01-13 21:40:03

相關問題