php代码从for循环生成备用no

时间:2015-02-13 08:53:11

标签: php mysql pdo

我正在制作书籍,收据,优惠券和价格。

我用循环来生成所有系列。

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

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

对于ex-在下表中,每个收据代码都有2个唯一的优惠券代码。哦,

收据优惠券

701 = 501,502

702 = 503,504

703 = 505,506 OK。

现在我还需要为每个优惠券插入替代价格,例如以下示例

for ex -

优惠券价格

501 - 1

502 - 2

503 - 1

504 - 2

505 - 1

506 - 2

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

PLZ建议我如何使用每个优惠券代码生成替代价格。

 <?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";                        
        }       

    ?>

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你想在你的for循环的每次迭代中交替1到2之间?这可以这样实现:

首先初始化$loopCount = 0

然后,在循环中,你做这样的事情:

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

替代:

echo $loopCount++ % 2 + 1;

它将检查$loopCount是否均匀或不均匀,并相应地生成输出。

这就是它的工作原理。您可以将它集成到您​​的代码中。