column - book_no
我创建了 forloop 根据用户输入的值循环插入查询。
但是,如果数据库book_no列中有最大值 5,则下次在book_no列中插入值时从 6 开始。
例如:假设我的book_no列在数据库中已经存在 1,2,3,4,5 个值,现在我在 UI 表单book_no文本框中输入 3。然后我的代码再次插入 3 个新行,值进入book_no列是 6,7,8。
请建议如何从数据库获取最大值并获取此内部循环。
$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));
}
如果它有效,请尝试此代码,对其进行编辑以绑定您的值
<?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)");
}
}
?>
在此处查看演示