2014-01-23 95 views
1

我一直在尋找答案,這樣一兩天了,但我必須找錯了地方:選擇數據,其中一個字段包含的可能值

我想要做的就是創建一個OnCall循環頁面,該頁面將根據與其關聯的一組星期循環訪問數據庫中的條目。我已經調用此數據的代碼如下所示:

//Collect data 
date_default_timezone_set('America/Boise'); 
$weekNumber = date("W"); 
$sql = "SELECT * FROM oncall.info WHERE Weeks LIKE '$weekNumber'"; 
$sql_con = mysqli_query($con, $sql); 
$data = mysqli_fetch_array($sql_con); 

,並在數據庫中的條目看起來像:

Name | Weeks 
Joe  1, 4, 7, 10 
Sally  2, 5, 8, 11 
Quigon 3, 6, 9, 12 

所以,作爲新來這種事情,我不知道如果我採用錯誤的方法與PHP或如果我的數據沒有適當地存儲在數據庫中。

任何想法,想法或建議嗎?

謝謝!

+1

你的數據存儲在DB中不適當的地方!切勿將多個值存儲在一列中。 –

+0

永遠不要在數據庫中存儲逗號分隔值。這是一個錯誤的設計,你現在需要改變它**。讓每個名稱在表格中重複數次,每個名稱都連接到一週數字。 – sashkello

+0

@juergen「永遠不要在一列中存儲多個值」 - 你確定? – voodoo417

回答

1
Name | Weeks 
Joe  1 
Joe  4 
Joe  7 
Joe  10 
Sally  2 
Sally  5 
Sally  8 
Sally  11 
Quigon 3 
Quigon 6 
Quigon 9 
Quigon 12 

然後你就可以像

$sql = "SELECT * FROM oncall.info WHERE Weeks = '$weekNumber'"; 

您的表格也應該有一個主鍵,它會幫助你管理你的表格更好。

+0

這指出我在正確的方向。謝謝您的幫助! – Kristopher

相關問題