Добавление дополнительного значения в массив в цикле foreach для MYSQL INSERT - PullRequest
0 голосов
/ 20 мая 2011

прямо сейчас у меня есть массив, в котором хранятся название плода, цена, количество. Мой код выглядит так:

<?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')

для каждого ключа в массиве.

Что мне нужно сделать, так это уметь вставлять несколько строк в мою таблицу с уникальным идентификатором, представляющим собой имя пользователя + метку времени.

Любая помощь очень ценится!

Ответы [ 2 ]

1 голос
/ 21 мая 2011
$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 голосов
/ 20 мая 2011

используйте array_unshift , чтобы вставить username в качестве первого элемента массива $value

foreach($multi as $key=>$value) {
    array_unshift($value, $_SESSION['username']);
    $new[] = "'".implode("', '", $value)."'";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...