我需要从自定义代码开始以串行顺序生成no。如果用户想打印两本书,每本书有3张收据,每张收据有2张优惠券。
-
用户输入图书代码和总图书
-
用户输入收据代码和总收据
-
用户输入优惠券代码和总优惠券
用户在文本框中输入,如:
bookno - 101
totalbook - 2
receiptno - 500
totalrec - 2
coupon - 700
totalcoup - 2
然后输出如下表所示。
在这张表中,优惠券号总是唯一的。收据号出现两次,因为每张收据都分配了两张优惠券。
请建议我如何使用for循环生成以下输出,并插入数据库中的每一行。
book receipt coupon
101 500 - 700
101 500 - 701
101 - 501 - 702
101 - 501 - 703
102 - 502 - 704
102 - 502 - 705
102 - 503 - 706
102 - 503 - 707
我尝试了以下代码,但无法正常工作。
$bookno= $_POST['bookcode'];
$totalbook= $_POST['book_no2'];
$receiptno = $_POST['receiptcode'];
$totalrec= $_POST['receipt_no'];
$couponno= $_POST['couponcode'];
$totalcoup= $_POST['coupon'];
for($row1=$bookno;$row1<=$bookno+$totalbook;$row1++)
{
for($row=$receiptno;$row<=$receiptno+$totalrec;$row++)
{
for($row2=$couponno;$row2<=$couponno+$totalcoup;$row2++)
{
$insertrow = $database->insertRow("INSERT INTO scheme_master (book_no2,receipt_no,coupon)
VALUES (:book_no2,:receipt_no,:coupon)",
array(':receipt_no'=>$row,':book_no2'=>$row1,':coupon'=>$row2));
}
}
}
您的问题与Ashok Awachat的问题完全相同。你们两个似乎都经常向StackOverflow提交问题,让别人来做你们(我想)的大学作业。
正如我在前面的回答中所说,回到第一个原则:
-
如果您在通过PHP运行SQL查询时遇到问题,请尝试直接在数据库上使用硬编码值进行查询
-
如果SQL在数据库上正常工作,请再次尝试使用硬编码值的PHP
-
不要重新发明轮子。您使用的方法接受一个查询和一组参数。如果为此键入完整的PHP,开销可以忽略不计,但代码的可读性会提高。
-
逐步将调试代码添加到您的应用程序中,以便您可以检查每个阶段发生的情况。一旦您对某个部分正在工作感到满意,请在下一部分中添加调试。(此实例中的调试是记录值和错误)
-
缓慢而有条理地工作。不要试图一气呵成。从小处着手,从那里开始。
关于StackOverflow,您需要考虑以下内容:
-
您提交的问题是非常初级的,与基本的事情有关,比如不理解变量范围。因此,买一些关于PHP、SQL和HTML的书,你可以参考。把你正在使用的系统的文档页面加上书签。在网上搜索教程等
-
提交尽可能多的问题信息。我的意思是,给出你尝试过的代码,你得到了什么错误("它不起作用"是不可接受的)等等。如果有人要求从某个东西输出,请提供它。
-
不要将StackOverflow成员视为愿意为您做项目的庞大人员库。在座的每一个人都是发自内心地回答问题。他们不必在这里。我想绝大多数回答问题的人都有高薪的工作。
-
一旦一个问题得到回答,就不要再回头把这个问题改成问另一个问题(Ashok就是这么做的)。此外,如果你这样做,不要删除评论,因为它会删除问题的上下文。开始一个新的问题。如果你无法做到这一点,因为你每天的问题已经达到了极限(我不知道这是否可能),那么这应该是对你自己的一个警告信号,你正在采取简单的方法来解决
如果你要成为一名开发人员,那么你需要知道如何寻找bug。每次遇到问题都在StackOverflow上提问并不能教会你任何东西