php pdo代码从用户输入动态创建行?

时间:2015-02-02 10:48:46

标签: php pdo

列名=收据(txtbox)

如果用户输入receipt = 5,则在数据库中插入5行。

数据在此表中插入..

收据

1 2 3 4 5

如果用户再次输入receipt = 3,则再次在数据库中插入3行。

6 7 8

明智的......

PLZ建议我怎么做......

下面是我在php pdo中保存的代码...

我尝试下面的代码,这是有效但不按顺序插入否....

     if(isset($_POST['save']))
        {       
                        $book_no = $_POST['book_no'];
                       $receipt= $_POST['receipt'];
for($row=1;$row<=$receipts ;$row++)
{                                           
    $insertrow = $database->insertRow("INSERT INTO scheme_master (book_no,receipt,created) VALUES (:book_no,:receipt)", 
                        array(':book_no'=>$book_no,':receipt'=>$receipt)); 
}                           
        }   

1 个答案:

答案 0 :(得分:1)

首先,您必须更改以下代码:

$insertrow = $database->insertRow("INSERT INTO scheme_master (book_no,receipt,created) VALUES (:book_no,:receipt)", 
                    array(':book_no'=>$book_no,':receipt'=>$receipt));

像这样(收据编号是$row var,而不是$receipt var)

$insertrow = $database->insertRow("INSERT INTO scheme_master (book_no,receipt,created) VALUES (:book_no,:receipt)", 
                    array(':book_no'=>$book_no,':receipt'=>$row));

如果你想要,下一次,它从最后插入的数字开始(例如,从6开始,如果你以前插入了5个收据),你必须查询数据库以获得当前的最大值,然后从它开始。要获得最大值,这样的查询应该有效:

SELECT MAX(receipt) FROM scheme_master where book_no = :book_no