statment with php? <?php
//mainline
$orderNumber = 0;
$itemNumber = 0;
$qtyReq = 0;
$qtyOH = 0;
$qtyShip = 0;
$qtyBO = 0;
$message= "";
sList($sList); // function call to open the shipping list
BO($backOrder); // function call to open the back order list
printf("\nEnter Order Number or 0 to exit: ");
fscanf(STDIN, "%s", $orderNumber);
while($orderNumber != "0")
{
printf("\nEnter Item Number or 0 to exit: ");
fscanf(STDIN, "%s", $itemNumber);
while($itemNumber != "0")
{
printf("\nEnter requested quantity: ");
fscanf(STDIN, "%s", $qtyReq);
printf("\nEnter quantity on hand: ");
fscanf(STDIN, "%s", $qtyOH);
doCalc( $sList, $backOrder, $orderNumber, $itemNumber, $qtyReq, $qtyOH, $qtyShip, $qtyBO, $message);
printf("\nEnter Item Number or 0 to exit: ");
fscanf(STDIN, "%s", $itemNumber);
}
if($itemNumber == "0")
{
printf("\nEnter Order Number or 0 to exit: ");
fscanf(STDIN, "%s", $orderNumber);
}
}
//fscanf(STDIN, "%s", $buster);
//end mainline
function sList(&$sList)
{
$sList=fopen("shippinglist.txt", "w");
fprintf($sList,"MITRE-11 HARDWARE\n\n");
fprintf($sList,"INVENTORY CONTROL SHIPPING LIST\n\n");
fprintf($sList,"ORDER NO. ITEM NO. UNITS SHIPPED MESSAGE\n");
}
function BO(&$backOrder)
{
$backOrder=fopen("backorder.txt", "w");
fprintf($backOrder,"MITRE-11 HARDWARE\n\n");
fprintf($backOrder,"INVENTORY CONTROL BACK ORDER LIST\n\n");
fprintf($backOrder,"ORDER NO. ITEM NO. UNITS BACK ORDERED MESSAGE\n");
}
function doCalc( $sList, $backOrder, $orderNumber, $itemNumber, $qtyReq, $qtyOH, &$qtyShip, &$qtyBO, &$message)
{
if($qtyOH >= $qtyReq)
{
$qtyShip = $qtyReq;
$qtyBO = 0;
$message ="Shippment Fully Filled";
fprintf($sList, "\n%-5s %11s %10s %30s", $orderNumber, $itemNumber, $qtyShip, $message);
}
if($qtyOH != 0 AND $qtyOH < $qtyReq)
{
$qtyShip = $qtyOH;
$qtyBO = ($qtyReq - $qtyOH);
$message ="Shippment Partially Filled";
fprintf($sList, "\n%-5s %11s %10s %36s", $orderNumber, $itemNumber, $qtyShip, $message);
fprintf($backOrder, "\n%-5s %11s %13s", $orderNumber, $itemNumber, $qtyBO);
}
else
{
$qtyShip = 0;
$qtyBO = $qtyReq;
$message ="OUT OF STOCK";
fprintf($backOrder, "\n%-5s %11s %13s %25s", $orderNumber, $itemNumber, $qtyBO, $message);
}
}
?>
That's what I have so far. What my code does or is suppose to do, is to take in 4 inputs, an Order Number, Item Number, Requested Quantity, and Quantity On Hand. After the inputs are given, it'll go through some calculations and print to two different files.
My problem lies within the doCalc function. I have two IF statements and 1 ELSE statement. What I don't understand is that when my first IF statement holds true, it executes that process, BUT then moves on the my ELSE statement...
The second IF statement is working fine it seems, as well as if it were just the ELSE statement.
This issue only happens when the first IF statement holds true.
Below is the doCalc function for easy referance.
function doCalc( $sList, $backOrder, $orderNumber, $itemNumber, $qtyReq, $qtyOH, &$qtyShip, &$qtyBO, &$message)
{
if($qtyOH >= $qtyReq)
{
$qtyShip = $qtyReq;
$qtyBO = 0;
$message ="Shippment Fully Filled";
fprintf($sList, "\n%-5s %11s %10s %30s", $orderNumber, $itemNumber, $qtyShip, $message);
}
if($qtyOH != 0 AND $qtyOH < $qtyReq)
{
$qtyShip = $qtyOH;
$qtyBO = ($qtyReq - $qtyOH);
$message ="Shippment Partially Filled";
fprintf($sList, "\n%-5s %11s %10s %36s", $orderNumber, $itemNumber, $qtyShip, $message);
fprintf($backOrder, "\n%-5s %11s %13s", $orderNumber, $itemNumber, $qtyBO);
}
else
{
$qtyShip = 0;
$qtyBO = $qtyReq;
$message ="OUT OF STOCK";
fprintf($backOrder, "\n%-5s %11s %13s %25s", $orderNumber, $itemNumber, $qtyBO, $message);
}
}
//mainline
$orderNumber = 0;
$itemNumber = 0;
$qtyReq = 0;
$qtyOH = 0;
$qtyShip = 0;
$qtyBO = 0;
$message= "";
sList($sList); // function call to open the shipping list
BO($backOrder); // function call to open the back order list
printf("\nEnter Order Number or 0 to exit: ");
fscanf(STDIN, "%s", $orderNumber);
while($orderNumber != "0")
{
printf("\nEnter Item Number or 0 to exit: ");
fscanf(STDIN, "%s", $itemNumber);
while($itemNumber != "0")
{
printf("\nEnter requested quantity: ");
fscanf(STDIN, "%s", $qtyReq);
printf("\nEnter quantity on hand: ");
fscanf(STDIN, "%s", $qtyOH);
doCalc( $sList, $backOrder, $orderNumber, $itemNumber, $qtyReq, $qtyOH, $qtyShip, $qtyBO, $message);
printf("\nEnter Item Number or 0 to exit: ");
fscanf(STDIN, "%s", $itemNumber);
}
if($itemNumber == "0")
{
printf("\nEnter Order Number or 0 to exit: ");
fscanf(STDIN, "%s", $orderNumber);
}
}
//fscanf(STDIN, "%s", $buster);
//end mainline
function sList(&$sList)
{
$sList=fopen("shippinglist.txt", "w");
fprintf($sList,"MITRE-11 HARDWARE\n\n");
fprintf($sList,"INVENTORY CONTROL SHIPPING LIST\n\n");
fprintf($sList,"ORDER NO. ITEM NO. UNITS SHIPPED MESSAGE\n");
}
function BO(&$backOrder)
{
$backOrder=fopen("backorder.txt", "w");
fprintf($backOrder,"MITRE-11 HARDWARE\n\n");
fprintf($backOrder,"INVENTORY CONTROL BACK ORDER LIST\n\n");
fprintf($backOrder,"ORDER NO. ITEM NO. UNITS BACK ORDERED MESSAGE\n");
}
function doCalc( $sList, $backOrder, $orderNumber, $itemNumber, $qtyReq, $qtyOH, &$qtyShip, &$qtyBO, &$message)
{
if($qtyOH >= $qtyReq)
{
$qtyShip = $qtyReq;
$qtyBO = 0;
$message ="Shippment Fully Filled";
fprintf($sList, "\n%-5s %11s %10s %30s", $orderNumber, $itemNumber, $qtyShip, $message);
}
if($qtyOH != 0 AND $qtyOH < $qtyReq)
{
$qtyShip = $qtyOH;
$qtyBO = ($qtyReq - $qtyOH);
$message ="Shippment Partially Filled";
fprintf($sList, "\n%-5s %11s %10s %36s", $orderNumber, $itemNumber, $qtyShip, $message);
fprintf($backOrder, "\n%-5s %11s %13s", $orderNumber, $itemNumber, $qtyBO);
}
else
{
$qtyShip = 0;
$qtyBO = $qtyReq;
$message ="OUT OF STOCK";
fprintf($backOrder, "\n%-5s %11s %13s %25s", $orderNumber, $itemNumber, $qtyBO, $message);
}
}
?>
That's what I have so far. What my code does or is suppose to do, is to take in 4 inputs, an Order Number, Item Number, Requested Quantity, and Quantity On Hand. After the inputs are given, it'll go through some calculations and print to two different files.
My problem lies within the doCalc function. I have two IF statements and 1 ELSE statement. What I don't understand is that when my first IF statement holds true, it executes that process, BUT then moves on the my ELSE statement...
The second IF statement is working fine it seems, as well as if it were just the ELSE statement.
This issue only happens when the first IF statement holds true.
Below is the doCalc function for easy referance.
function doCalc( $sList, $backOrder, $orderNumber, $itemNumber, $qtyReq, $qtyOH, &$qtyShip, &$qtyBO, &$message)
{
if($qtyOH >= $qtyReq)
{
$qtyShip = $qtyReq;
$qtyBO = 0;
$message ="Shippment Fully Filled";
fprintf($sList, "\n%-5s %11s %10s %30s", $orderNumber, $itemNumber, $qtyShip, $message);
}
if($qtyOH != 0 AND $qtyOH < $qtyReq)
{
$qtyShip = $qtyOH;
$qtyBO = ($qtyReq - $qtyOH);
$message ="Shippment Partially Filled";
fprintf($sList, "\n%-5s %11s %10s %36s", $orderNumber, $itemNumber, $qtyShip, $message);
fprintf($backOrder, "\n%-5s %11s %13s", $orderNumber, $itemNumber, $qtyBO);
}
else
{
$qtyShip = 0;
$qtyBO = $qtyReq;
$message ="OUT OF STOCK";
fprintf($backOrder, "\n%-5s %11s %13s %25s", $orderNumber, $itemNumber, $qtyBO, $message);
}
}