PHP PDO代码,用于获取循环和插入行内部的最大值



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

在此处查看演示

最新更新