Heim > Fragen und Antworten > Hauptteil
Ich habe 4 Vertriebsbüros und sobald alle 4 Vertriebsbüros 20 Leads erhalten, sollte nur Vertriebsbüro Nummer 4 die restlichen Leads für den Tag erhalten. Ich brauche Hilfe beim Erstellen einer Bedingung, um grundsätzlich zu überprüfen, ob die Vertriebsbüros 1-4 jeweils 20 Leads erhalten haben, und dann natürlich den Anweisungen zu folgen, um fortzufahren
Zuerst frage ich die Datenbank ab, um meinen Zähler zu überprüfen (ja, ich weiß, das kann kompakter sein und innerhalb einer Schleife erfolgen)
$sales_office= 1; $sql = $conn->prepare("SELECT LeadsReceivedToday FROM Lead_Counter WHERE SalesOffice=?"); $sql->execute([$sales_office]); $result = $sql->fetch(); $sales_office1_count = $result['LeadsReceivedToday']; $sales_office= 2; $sql = $conn->prepare("SELECT LeadsReceivedToday FROM Lead_Counter WHERE SalesOffice=?"); $sql->execute([$sales_office]); $result = $sql->fetch(); $sales_office2_count = $result['LeadsReceivedToday']; $sales_office= 3; $sql = $conn->prepare("SELECT LeadsReceivedToday FROM Lead_Counter WHERE SalesOffice=?"); $sql->execute([$sales_office]); $result = $sql->fetch(); $sales_office3_count = $result['LeadsReceivedToday']; $sales_office= 4; $sql = $conn->prepare("SELECT LeadsReceivedToday FROM Lead_Counter WHERE SalesOffice=?"); $sql->execute([$sales_office]); $result = $sql->fetch(); $sales_office4_count = $result['LeadsReceivedToday'];
Wenn ich diese Logik ausführe, funktioniert sie nicht wie erwartet? Sobald sales_office = 1 20 Leads erreicht, wird es direkt an Vertriebsbüro 4 weitergeleitet?
if ($sales_office1_count != 20 && $sales_office2_count != 20 && $sales_office3_count != 20) { //distribute leads to sales office 1-4 in order of 1-4 } else { //only send leads to sales office no 4 }
P粉7926739582024-04-03 09:03:57
您当前对所有办公室计数的逻辑检查,您必须分别检查每个办公室。
if ($sales_office1_count < 20 || $sales_office2_count < 20 || $sales_office3_count < 20) { //distribute leads to sales office 1-4 in order of 1-4 } else { //only send leads to sales office no 4 }
此外,您可以通过使用数组来提高代码的可读性:
$officesLeadsCount = [1 => 0, 2 => 0, 3 => 0, 4 => 0]; foreach ($officesLeadsCount as $number => $value) { $sql = $conn->prepare("SELECT LeadsReceivedToday FROM Lead_Counter WHERE SalesOffice=?"); $sql->execute([$number]); $result = $sql->fetch(); $officesLeadsCount[$number] = $result['LeadsReceivedToday']; } if ($officesLeadsCount[1] < 20 || $officesLeadsCount[2] < 20 || $officesLeadsCount[3] < 20) { //distribute leads to sales office 1-4 in order of 1-4 } else { //only send leads to sales office no 4 }