2013-07-15 59 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