簡體   English   中英

MySQL基礎結構和PHP $ _SESSION處理

[英]MySQL infrastructure and PHP $_SESSION handling

我正在使用PHP 5+和MySQL 5+

我將很快開始為客戶構建Web應用程序,但是在開始之前,我想問一些有關基礎架構的問題...

我正在為希望跟蹤客戶數據的HR(人力資源)公司構建此Web應用程序。 它將具有人力資源(人),客戶,聯系人等表格,這些表格將通過關系彼此鏈接。 例如,應用程序的管理員將說John將在X個時間段期間在客戶Doe任職。

沒什么特別的,但是這里有我需要您幫助我思考的部分:

我為此服務的客戶在不同地區(城市)設有分支機構,每個辦事處都有幾個管理員,他們將僅使用“其”客戶數據在我的應用程序中工作。 會有人處理多個領域的數據。

因此,成功登錄后,應僅向他們顯示來自其連接的city_id的數據。

我可以通過在所有表中添加“ city_id”列,然后在登錄表單中啟動$_SESSION['city_id']來完成此操作,然后像"SELECT * FROM company WHERE city_id={$_SESSION['city_id']}這樣編寫MySQL查詢"SELECT * FROM company WHERE city_id={$_SESSION['city_id']}我猜。

但是我希望它既簡單又靈活,並且超級管理員應該能夠添加新城市,並將其鏈接到新客戶。

我應該如何建立我的數據庫結構? 我應該如何使超級管理員能夠創建新城市並將其動態鏈接到其他表?

我正在考慮使用X + 2結構,例如X可以是表Customer,其他兩個是City_list和City_handler。 City_list將具有所有可用的城市,City_handler將存儲與哪個城市關聯的人和對象。 這是一個壞主意嗎?

例如,如果我有一個看起來像這樣的數據庫結構,應該如何在實踐中實現呢?

顧客
顧客ID
顧客姓名

城市清單
city_id
城市名

City_handler
顧客ID
city_id

如果您可以幫助我將這些功能與FK鏈接在一起(我猜想嗎?),並告訴我一些工作方式以及可能的想法,我將不勝感激,因為這將是整個解決方案的核心功能,對我有幫助開始吧!

使用者

id | 名稱

城市

id | 名稱

users_to_citys

user_id | city_id

每個用戶可以服務任何數量的城市,城市數量可以輕松更改。

現在,您只需為每個對象指定城市,然后檢查用戶是否有權管理它們。

一些代碼:

$res = mysql_query("SELECT city_id FROM users_to_citys WHERE user_id = ". (int)$uid);
while($array = mysql_fetch_assoc($res)) {
    $citys[] = $array['city_id'];
}
$_SESSION['citys'] = $citys;
$_SESSION['citys_syfix'] = ' AND city_id IN('. implode(',',$citys) .') ';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM