分配我有5個銷售人員在公司website.Now當過查詢來應該分佈在以下比例PHP - 程序邏輯的變量
SalesA:SalesB:SalesC:SalesD:SalesE = 1:2 :1:1:1
我使用mysql作爲數據庫在php中創建了我的網站。
1.Is有可能的方式使用數據庫
2.什麼是需要的情況下,最好的數據庫DB設計實現上述跟了出去。
在此先感謝
分配我有5個銷售人員在公司website.Now當過查詢來應該分佈在以下比例PHP - 程序邏輯的變量
SalesA:SalesB:SalesC:SalesD:SalesE = 1:2 :1:1:1
我使用mysql作爲數據庫在php中創建了我的網站。
1.Is有可能的方式使用數據庫
2.什麼是需要的情況下,最好的數據庫DB設計實現上述跟了出去。
在此先感謝
此邏輯必須在不在DB級別的PHP代碼中實現。
獲取六行(1 + 2 + 1 + 1 + 1)的modulo作爲要插入行的數據庫ID。然後根據這個分配銷售人員。
// Quick and dirty example
switch($nextId % 6) {
case 0:
$salesperson = 'SalesA';
break;
case 1:
case 2:
$salesperson = 'SalesB';
break;
case 3:
$salesperson = 'SalesC';
break;
case 4:
$salesperson = 'SalesD';
break;
case 5:
$salesperson = 'SalesE';
break;
}
這也可以通過使用AFTER INSERT
觸發器在數據庫級別上完成。
感謝您的回覆。您能否請建議Db設計爲上述 – user1614009
DB設計:
teams
id title ratio
1 TeamA 1
2 TeamB 2
3 TeamC 1
4 TeamD 1
5 TeamE 1
可能有2種方式來創建表:使用關係數據或不
enquiries
id team_id enquiry
1 1 something
2 2 something else
3 2 something
4 3 something else
在這種情況下,當你插入數據,你應該對球隊比護理進入查詢表。
樣品:
SELECT e.id AS enquiry_id, e.enquiry, t.title
FROM enquiries e
JOIN teams t
ON t.id=e.team_id
您也可以選擇非關係查詢表
enquiries
id enquiry
1 something
2 something else
3 something
對於這個表,你將不得不關心球隊比當您選擇查詢
樣品:
$teams = array();
$query = "SELECT id, title, ratio FROM teams";
$sql = $mysqli->query($query);
while($row = $sql->fetch_assoc()) {
$teams[] = $row;
}
$query = "SELECT * FROM enquiries";
$sql = $mysqli->query($query);
$team = 0;
$i = 0;
while($row = $sql->fetch_assoc()) {
if($i >= $teams[$team]['ratio']) {
$team = $team == count($teams) ? 0 : ($team + 1);
$i = 0;
}
$teams[$team]['enquiries'][] = $row;
$i++;
}
print_r($teams);
感謝您的努力非常感謝您 – user1614009
有這麼幾個細節.. –
簡單我有一個銷售團隊,有五個成員說SalesA,SalesB,SalesC,SalesD和SalesE。客戶將查詢放入我的網站。收到查詢時,將按照以下比例分配SalesA:SalesB:SalesC:SalesD:SalesE = 1:2:1:1:1對於每個新的查詢流程分配,SalesB應獲得1次查詢。那就是它 – user1614009