|
|
|
| Здравствуйте! Прошу помочь
имеется вот такая корзина, все в ней устраивает
<?
function worksCart ($prod) {
if($prod) {
//добавление товаров и обновление корзины
if (!isset($_SESSION['cart'])) $_SESSION['cart'] = array();
$cart = &$_SESSION['cart'];
if (is_array($prod)) {
//добавление массива товаров
foreach($prod as $key => $val) {
$key = intval($key);
if ($key) {
$val = intval($val);
if (isset($_POST['del']) && in_array($key, $_POST['del']) || !$val) {
//удаление товара из корзины
if (array_key_exists($key, $cart)) unset($cart[$key]);
} else $cart[$key] = $val;
//добавление, обновление
}
}
} else {
//добавление одиночного товара
$id = intval($prod);
if ($id) $cart[$id] = array_key_exists($id, $cart) ? $cart[$id] + 1 : 1;
}
} else unset($_SESSION['cart']);
//удаление корзины
}
//имеющиеся товары
$goods = array(
79 => array('name'=>'Топор', 'art'=>'Стальной', 'mony'=>120),
102 => array('name'=>'Молоток', 'art'=>'Резина', 'mony'=>60),
89 => array('name'=>'Стаместка', 'art'=>'Алюминий', 'mony'=>35),
211 => array('name'=>'Ножовка', 'art'=>'Титан', 'mony'=>86),
212 => array('name'=>'Пила', 'art'=>'Рыба', 'mony'=>86)
);
session_start();
//добавление одиночного товара
if (isset($_GET['add'])) worksCart($_GET['add']);
//добавление массива товаров, например,
//с одной страницы группы выбранных
//и обновление корзины (редактирование)
if (isset($_POST['update'])) worksCart($_POST['prod']);
//удаление корзины
if (isset($_POST['clear'])) worksCart(0);
echo '<table cellspacing=0 cellpadding=2 align=center><tr><td>Наименование</td><td>Артикул</td><td>Цена</td></tr>';
foreach($goods as $id => $val) {
echo "<tr><td>".$val['name'] . "</td><td>".$val['art']."</td><td> цена: " .$val['mony']. " руб.</td><td> <a href=\"?add=" .$id. "\"><img src=butt.png></a></td></tr>";
}
echo '</table>';
?>
<style type="text/css">
a img{padding:4px; border:1px solid #CCC}
a:hover img{ padding:4px; border:1px solid #093DA8}
a { text-decoration:none}
td{border:1px solid #CCC; padding:0 3px}
#corz{position:fixed; top:1px; left:1px}
.inp{border:1px solid #CCC; width:45px}
.small{ font-family:Verdana, Geneva, sans-serif; font-size:9px}
</style>
<?php
echo "<hr width=\"100%\" size=\"1\">";
if (!empty($_SESSION['cart'])) {
echo "<form method=\"post\">
<table class=small bgcolor=\"#696969\" cellspacing=\"0\" cellpadding=\"1\" width=\"100\">
<tr bgcolor=\"#f5f5f5\">
<td colspan=2>Товар</td>
<td>Цена, руб</td>
<td>Выбрано, шт</td>
<td>Стоимость, руб</td>
<td>Удалить</td>
</tr>";
$k = 0;
$m = 0;
foreach($_SESSION['cart'] as $key => $val) {
$k += $val;
echo "<tr bgcolor=\"#ffffff\">
<td><a href=2.jpg target=_blank><img src=2.jpg height=20 width=20></a></td>
<td><a href=\"goods.php?id=" .$key. "\">" .$goods[$key]['name'].' '.$goods[$key]['art']. "</a></td>
<td>" .$goods[$key]['mony']. "</td>
<td><input class=inp type=\"text\" name=\"prod[" .$key. "]\" value=\"" .$val. "\"></td>
<td>" .$goods[$key]['mony']*$val. "</td>
<td><input type=\"checkbox\" name=\"del[]\" value=\"" .$key. "\"></td>
</tr>";
$m += $goods[$key]['mony']*$val;
}
echo "<tr bgcolor=\"#ffffff\">
<td colspan=\"3\">Всего</td>
<td>" .$k. "</td>
<td>" .$m. "</td>
<td> </td>
</tr>
</table>
<input type=\"submit\" name=\"update\" value=\"Обновить корзину\">
<input type=\"submit\" name=\"clear\" value=\"Очистить корзину\">
</form>";
} else print "Ваша корзина пуста!";
?>
|
но я хочу чтоб эти данные можно было извлечь и передать/записать, делаю так
echo'<form METHOD=POST action=add.php>
<input name=k type=hidden value='.$k.'>
<input name=m type=hidden value='.$m.'>
<input name=n type=hidden value='.$goods[$key]['name'].' '.$goods[$key]['art'].'>
<input name=p type=hidden value='.$goods[$key]['mony'].'>
<input name=t type=hidden value='.$goods[$key]['mony']*$val.'>
<input type=submit>'
|
Данные передает, но только последнее, точнее одно последнее значение, наверное это потому что в первой части кода происходит генерирование и вывод в цикле, а как передать все это не пойму...
Буду признателен за помощь! | |
|
|