专栏 - book_no
我根据用户的输入值确定了forloop循环插入查询。
但是如果DB在book_no列中的最大值为5,那么下次在book_no列中插入的值将从6开始。
例如:假设我的book_no列已经存在于DB中的1,2,3,4,5值,现在我在UI FORM中的book_no文本框中输入3。 然后我的代码再次插入3个新行,而book_no列中的值是6,7,8。
plz建议如何从DB中获取最大值并获得内部循环。
$book_no = $_POST['book_no'];
$created = date("Y-m-d H:i:s");
$sub_inner = $database->getRows("SELECT MAX(book_no) FROM scheme_master where book_no = :book_no",
array(':book_no'=>$book_no));
$max = $exists['maxbook_no'] + 1;
for($row=1;$row<=$book_no;$row++)
{
$insertrow = $database->insertRow("INSERT INTO scheme_master (book_no,created) VALUES (:book_no,:created)",
array(':book_no'=>$max,':created'=>$created));
}
答案 0 :(得分:0)
如果有效,请尝试使用此代码,编辑它以绑定您的值
<?php
$db = new PDO('mysql:host=mysql.serversfree.com; dbname=u615496488_data','u615496488_data','24222222');
if(isset($_POST['submit'])){
$number = $_POST['text'];
for ($i = 1; $i <= $number ; $i++) {
$results = $db->query('SELECT * FROM book_no');
$max = $results->rowCount() + 1; //get the max number by getting row count
$db->exec("INSERT INTO `book_no`(`Book_No`) VALUES ($max)");
}
}
?>