【问题标题】:Adding an extra value to an array in a foreach loop for MYSQL INSERT在 MYSQL INSERT 的 foreach 循环中向数组添加额外的值
【发布时间】:2011-08-29 17:57:30
【问题描述】:

现在我有一个存储水果名称、价格、数量的数组。我的代码如下所示:

<?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;

?>

echo $query 的示例如下:

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

我想要的是让我的数组看起来像这样:

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

对于数组中的每个键。

我需要完成的是能够将多行插入到我的表中,唯一标识符是用户名+时间戳。

非常感谢任何帮助!

【问题讨论】:

  • Alex -> 来自 $_SESSION['username'] 的值,我希望能够将它添加到我当前的数组列表中,并且它必须在第一个字段中。

标签: php mysql sql html oracle


【解决方案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);

【讨论】:

    【解决方案2】:

    使用array_unshift插入username作为数组$value的第一个元素

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 2019-09-20
      • 2015-02-15
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      相关资源
      最近更新 更多