2011-05-20 81 views
0

現在我有一個存儲水果名,價格,數量的數組。我的代碼如下所示:爲foreach循環中的數組添加一個額外的值爲MYSQL INSERT

<?php 
session_start(); 
echo $_SESSION['SHOPPING_CART']; 

$multi = $_SESSION['SHOPPING_CART']; 
$new = array(); 
foreach($multi as $key=>$value) { 
    $new[] = "'".implode("', '", $value)."'"; 
} 
$query = "(".implode("), (", $new).")"; 
echo $query; 

?> 

什麼回聲$查詢做一個例子如下:

Array('Apple', '1.00', '1') 

我想是我的陣列看起來像這樣:

Array('Alex<todaystimestamp>','Apple','1') 

用於數組中的每個鍵。

我需要完成的是能夠插入多行到我的表中,唯一標識符是用戶名+時間戳。

任何幫助非常感謝!

+0

阿萊克斯 - >值從$ _SESSION [「用戶名」],我希望能夠將它添加到我目前的數據列表,它必須在第一個字段。 – 2011-05-20 15:00:50

回答

1
$inserts = array(); 
foreach($_SESSION['SHOPPING_CART'] as $cart_item) { 
    list($fruit_name, $price, $quantity) = $cart_item; 
    $username_and_timestamp = $_SESSION['username'].time(); 
    $inserts[] = "('$username_and_timestamp', '$fuit_name', $quantity)"; 
} 
$query = "INSERT INTO $table_name (username_and_timestamp, fruit_name, quantity) VALUES".implode(',',$inserts); 
+0

謝謝!〜我現在就試試 – 2011-05-21 03:19:02

0

使用array_unshift插入username作爲數組的第一個元素$value

foreach($multi as $key=>$value) { 
    array_unshift($value, $_SESSION['username']); 
    $new[] = "'".implode("', '", $value)."'"; 
} 
相關問題