【问题标题】:php pdo code for for loop to insert values in sequence order /increment orderfor循环的php pdo代码以顺序/递增顺序插入值
【发布时间】:2015-02-02 12:22:01
【问题描述】:

请给我建议

我需要的是..当我在 book_no txtbox 中输入 5 时,然后在其中插入 5 行

数据库和值进入 book_no 列,如 1,2,3,4,5,,,,同样明智...

请建议我在我的 for 循环中进行哪些更改......

下面的代码运行良好,但值不按顺序排列...

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

【问题讨论】:

  • 我认为您需要将 $row 保存为值才能将 1,2,3,4,5 作为值...我完全不明白您需要什么...
  • 我需要的是如何从表中选择最大值并且该值进入循环..例如-在我的表中有 3 行和 book_no col 中的值 1,2,3.. .ok 现在当我再次插入 4 行时,从 4,5,6,7 开始,book_no 列中没有任何内容,..同样明智....

标签: php pdo


【解决方案1】:

替换这个

':book_no'=>$book_no

用这个:

':book_no'=>$row

【讨论】:

  • 请建议如何从数据库中获取最大值并循环插入查询 $book_no = $_POST['book_no']; $created = date("Y-m-d H:i:s"); for($row=1;$rowgetrows("SELECT MAX(book_no) as maxbook_no FROM scheme_master"); $max = $query['maxbook_no'] + 1; $insertrow = $database->insertRow("INSERT INTO scheme_master (book_no,created) VALUES (:book_no,:created)", array(':book_no'=>$max,':created'=>$created)); }
【解决方案2】:

好的,我认为您需要在 mysql 中将自动增量设置为所需的值。这会解决你的问题吗?

如果没有,您可以使用 PDO 中的 lastInsertId 方法 link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    相关资源
    最近更新 更多