php 从 for 循环中生成备用编号的代码

php code to generate alternate no from for loop

我正在生成书籍、收据、优惠券和价格。

我用for循环生成了所有系列。

每个 forloop 从文本框中获取自定义代码和总值以生成所有数据。

现在我的要求是如何在每张优惠券中生成价格。

for ex- 在下面 table ,每个 receiptcode 都有 2 个唯一的 couponcode.Ok,

收到优惠券代码

701 = 501,502

702 = 503,504

703 = 505,506 好的。

现在我还需要在每张优惠券中插入备用价格,如下例所示

前 -

优惠券价格

501 -- 1

502 -- 2

503 -- 1

504 -- 2

505 -- 1

506 -- 2

下面是我使用 forlloop 生成所有数据的代码。

请告诉我如何使用每个优惠券代码生成替代价格。

 <?php
    if(isset($_POST['save']))
        {       
                    $city = $_POST['city'];                 
                    $scheme_name = $_POST['scheme_name'];
                    $amount = $_POST['amount'];

                    $bookcode = $_POST['bookcode'];             
                    $book_no2 = $_POST['book_no2']; 

                    $receiptcode = $_POST['receiptcode'];
                    $receipt_no = $_POST['receipt_no'];                     
                    $couponcode = $_POST['couponcode'];                         
                    $coupon = $_POST['coupon'];                         
                    $created = date("Y-m-d H:i:s");             


                    $Temp_receipt = $receiptcode + $receipt_no;                 
                    $Temp_coupon = $couponcode + $coupon;

                    for($row1=$bookcode+1;$row1<=$bookcode+$book_no2;$row1++)
                        {   

                        for($row=$receiptcode+1;$row<=$Temp_receipt;$row++)
                            {

                                $query = $database->getRow("SELECT MAX(receipt_no) AS max1 FROM scheme_master;");
                                    if($query['max1']=='')
                                    {                           
                                        $largestNumber = $receiptcode;
                                        $top = $largestNumber + 1;
                                    }
                                    else
                                    {
                                        $largestNumber = $query['max1'];
                                        $top = $largestNumber + 1;  
                                    }       

                                    for($row2=$couponcode+1;$row2<=$Temp_coupon;$row2++)
                                    {                                   
                                        $query = $database->getRow("SELECT MAX(coupon) AS max2 FROM scheme_master;");
                                        if($query['max2']=='')
                                        {                           
                                            $largestcoupon = $couponcode;
                                            $coup = $largestcoupon + 1;                                 
                                        }
                                        else
                                        {
                                            $largestcoupon = $query['max2'];
                                            $coup = $largestcoupon + 1; 
                                        }   



  $insertrow = $database->insertRow("INSERT INTO scheme_master (price,amount,scheme_name,city,book_no2,receipt_no,coupon,created)
VALUES (:price,:amount,:scheme_name,:city,:book_no2,:receipt_no,:coupon,:created)", 
array(':price'=>$pric,':amount'=>$amount,':scheme_name'=>$scheme_name,':city'=>$city,':receipt_no'=>$top,':book_no2'=>$row1,':coupon'=>$coup,':created'=>$created));

                                }

                        }
                    }
                        $_SESSION['message'] = "Books Created Successfully";                        
        }       

    ?>

如果我没理解错的话,您想在 for 循环的每次迭代中交替使用 1 和 2 吗?可以这样实现:

首先初始化$loopCount = 0

然后,在循环中,您执行如下操作:

if($loopCount++ % 2 == 0) {
    echo "1";
} else {
    echo "2";
}

选择:

echo $loopCount++ % 2 + 1;

它会检查$loopCount是均匀的还是不均匀的,并相应地生成输出。

这就是它的工作原理。将其集成到您的代码中取决于您。