|
|
|
| Ни как не могу написать корзину. Тоесть у меня выводиться товар и есть поля где необходимо ввести количество. По умолчанию 1. Я не могу обработать эти поля. Не могу вытащить из них количество по каждому товару. Помогите!!! | |
|
|
|
|
|
|
|
для: SMAlik
(25.01.2005 в 14:07)
| | Без кода сложно помочь, где вы храните информацию о выбранных товарах? В базе данных или сессиях? Почему вы не можете обработать поля с количеством товара? | |
|
|
|
|
|
|
|
для: cheops
(25.01.2005 в 14:15)
| | Я данные, которые должны быть в корзине получаю из предидущей формы (ключевой код - артикул товара). Все данные храняться в текстовых файлах. Передаю данные в сессии. На этой странице открываю файл и считываю данные в массив. Потом сравниваю по ключю и вывожу в таблицу. Всё. Надеюсь этого достаточно!
<?
Error_Reporting(E_ALL & ~E_NOTICE);
session_start();
?>
<LINK
href="styles.css" type=text/css rel=stylesheet>
<TABLE cellSpacing=1 cellPadding=2 width="100%" border=0>
<TBODY>
<?
print "<form action='korz.phtml' method=post>";
if( isset( $_POST['add'] ) )
{ echo "Raschitat";
/* Редактирование */ }
if( isset( $_POST['delete'] ) )
{ echo "Delete";
/* Удаление */ }
$tovar = file($file);
print "<TR><TH class=header colspan=7>Ваша корзина</TH></TR>";
print "<TR>
<TH class=cataloglistheader align=middle width=50>Код товара</TH>
<TH class=cataloglistheader>картинка</TH>
<TH class=cataloglistheader width=90%>Наименование</TH>
<TH class=cataloglistheader align=middle>Цена</TH>
<TH class=cataloglistheader align=middle>Количество</TH>
<TH class=cataloglistheader align=middle width=30>ед</TH>
<TH class=cataloglistheader align=middle width=10>Удал.</TH>
</TR>";
$w=0;
$countn=count($numk);
$numk=array_unique($numk);
$t=0;$i=0;
while ($w<$countn):
$korz[$w]=$tcol;
list($n_1, $n_2, $n_3, $n_4, $pic) = explode("\t", $numk[$w]);
if ($n_1==""){}
else{
print " <TR>
<TD class=cataloglist align=middle width=50>$n_1</TD>
<TD class=cataloglist ><img border=0 src=im/$pic></TD>
<TD class=cataloglist align=left>$n_2</TD>
<TD class=cataloglist align=middle >$n_3</TD>
<TD class=cataloglist align=middle><input type=text name=tcol size=10 maxlength=6 value=$kol></TD>
<TD class=cataloglist align=middle width=30>$n_4</TD>
<TD class=cataloglist align=middle><input type=checkbox name=del[$i] value=$t$n_1></TD>
</TR>";
}
$w++;
list($s_1, $s_2) = explode(",", $n_3);
$r+=$s_1;
$k+=$s_2;
print($korz[$w]);
endwhile;
$l=strlen($k);
$l=$l-2;
if ($k>100){
$tr=substr("$k",0,$l);
$tk=substr("$k",-2);
$r+=$tr;
$k=$tk;
}
session_register("korz");
print "<tr><TH class=header colspan=7>Итого: $r рублей $k копеек.</TH></tr>";
print "<td colspan=3></td>";
print "<td colspan=4 align=right><input type=submit name=add value='Расчитать'>
<input type=submit name=delete value='Удалить из корзины'></form></td>";
?>
</TBODY>
</TABLE>
|
| |
|
|
|
|
|
|
|
для: SMAlik
(25.01.2005 в 14:07)
| | Поля количества для каждого товара нужно называть одинаково с квадратными скобками. Например:
<INPUT type="text" name="counttvr[1]" value="1">
<INPUT type="text" name="counttvr[2]" value="1">
тогда при методе POST будет передан массив $_POST["counttvr"]
который можно просмотреть
foreach($_POST["counttvr"] as $key=>$val)
{
//здесь $cont_tvr это твой массив количеств товаров с индексом $key
$cont_tvr[$key]=$val;
} | |
|
|
|
|
|
|
|
для: XPraptor
(25.01.2005 в 14:23)
| | Спасибо, увидел ошибку, что поля имеют одно имя. Какие ещё будут советы и предложения? | |
|
|
|
|
|
|
|
для: SMAlik
(25.01.2005 в 14:24)
| | А какие тебе еще нужны предложения? Получай свой товар и обрабатывай. | |
|
|
|
|
|
|
|
для: XPraptor
(25.01.2005 в 14:31)
| | А как "запихивать" эти полученные числа в текстовые поля, т.к при нажатии на кнопку всё становиться по 1-ам. Чтобы отображались в текстовых полях введённые данные? | |
|
|
|
|
|
|
|
для: SMAlik
(25.01.2005 в 14:49)
| | А, теперь ясно :-)
Ты должен в свойстве value писать не value="1" а вот так
value="<?php print $cnt_tvr[1]; ?>"
value="<?php print $cnt_tvr[2]; ?>"
где $cnt_tvr[] это полученные кол-ва в момент обработки. НО! до кода с обработкой ты должен проинициализировать массив и присвоить ему значения по умолчанию, в твоем случае каждый элемент получает значение 1. Тогда если есть обработка, то массив получит новые значения, а если нет будут печататься по умолчанию. | |
|
|
|
|
|
|
|
для: XPraptor
(25.01.2005 в 14:57)
| | Огромное спасибо!!! Вроде пока всё. | |
|
|
|