Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Преобразование и передача данных
 
 автор: pyql   (29.10.2009 в 22:45)   письмо автору
 
 

Здравствуйте! Прошу помочь
имеется вот такая корзина, все в ней устраивает


<?
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;
    }
  } 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'].'&nbsp;'.$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>&nbsp;</td>
    </tr>
   </table>
   <input type=\"submit\" name=\"update\" value=\"Обновить корзину\">&nbsp;&nbsp;
   <input type=\"submit\" name=\"clear\" value=\"Очистить корзину\">&nbsp;&nbsp;
   </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'].'&nbsp;'.$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>'


Данные передает, но только последнее, точнее одно последнее значение, наверное это потому что в первой части кода происходит генерирование и вывод в цикле, а как передать все это не пойму...
Буду признателен за помощь!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования