2013-07-15 37 views
0

我有一个foreach语句,采用PHP POST数据并将其添加到一个MySQL数据库与此类似:插入foreach语句中的增量值不使用AUTO_INCREMENT

foreach ($_POST['print_dim'] as $row => $printd) { 
    $print_dim = $printd; 
    $method = $_POST['method'][$row]; 
// insert into database 
} 

这的foreach更新6个的数据列。 我需要插入值从1开始直到44以及增量顺序的foreach更新,而不使用mysql中的auto_increment。我可以添加到这个foreach添加一个递增的数字与每个插入或我需要创建一个新的查询插入增量数字?我更新PHP,所以任何援助非常感谢。我只是不知道如何编写代码来将数字插入到我需要它们的列中的数据库中。我确信有一种简单的方法可以将其插入到数据库中。

一些背景是,基本上我正在创建一个基于检查形式的值的模板。该模板保存到一个数据库中的几个表,我需要增量数字的列必须在那里,以便当我将此模板数据插入到另一个表中时,它必须引用该行号,以便它不会中断我的应用程序。不幸的是,我从一名前雇员那里拿过这个应用程序,我需要这项工作来防止更多的时间尝试重新编码所有内容。感谢您的帮助。

+1

为什么“*不使用mysql中的auto_increment *”? – eggyal

+0

目前尚不清楚你想要做什么。 –

+0

你能够改变SQL表有一个AUTO_INCREMENT主键,然后使用像lastInsertId()? http://www.php.net/manual/en/pdo.lastinsertid.php – csi

回答

0
$i=1; 
foreach ($_POST['print_dim'] as $row => $printd) { 
    $print_dim = $printd; 
    $method = $_POST['method'][$row]; 
    $i++ 
    // INSERT INTO table (id, field1, field2) VALUES($i, $print_dim, $method); 
} 

是这样的?

+0

是非常相似,但当我尝试它只会将“1”添加到我的数据库中,而不是递增的。但是如果可能的话,是的。 – Jay

+0

这应该增加'id'列的好处,尽管按照写法,它将从2开始。我将移动查询下方的$ i ++;并添加分号。另外,请确保转义插入中的其他值。 – SuperJer

+0

不好运@SuperJer。它只增加一个。所以第一行是0,它不包含print_dim或方法,其余的行是1,其中包含模板数据。它插入一个,但没有别的。 :( – Jay