<form method=POST action=index11.php>
..
..
for($i; $i<mysql_num_rows($r); $i++)
{
$f=mysql_fetch_array($r);
echo "<td align='left'>$f[opis]</td><td align='right'>$f[price]</td><td><input type=checkbox name=Arr[] value=".$f['id']."
checked></td><td align='center'><input type=text name=kol size=5></td>";
$sum+=$f['price'];
}
</form>"
-------------------------------
if(isset($_POST["goo"]))
{
$q="select * from tovar where";
foreach($_POST['Arr'] as $k=>$v) $q=$q." (id=$v) or";
$q=substr($q,0,strlen($q)-3);
mysql_select_db($DB);
$r=mysql_query($q);
echo "<table border=1 width=100%>";
echo "<tr><td bgcolor=#336699>наименование</td><td bgcolor#336699>Цена</td><td bgcolor=#336699
align='center'>Кол-во(штук)</td></tr>";
$sum=0;
for($i; $i<mysql_num_rows($r); $i++)
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td align='left'>$f[opis]</td><td align='left'>$f[price]</td><td align='left'>$_POST[kol]</td>";
$sum+=$f['price'];
echo "</tr>";
}
echo "</table>";
echo "Общая сумма заказа: $sum\n";
}
Спустя 10 минут, 10 секунд (24.02.2010 - 19:12) pas написал(а):
так поставьте вместо kol скажем 'kol'.$i И соотвественно обрабатывайте $_POST['kol1'], $_POST['kol2'] и т.д.
Спустя 11 минут, 35 секунд (24.02.2010 - 19:23) RuslanMRP написал(а):
pas
Так не получаеться. Дело в том что поле куда будет вводиться число(т.е. количество данного товара), должно быть привязано к данному товару. Должно совпадать с id товаром
Так не получаеться. Дело в том что поле куда будет вводиться число(т.е. количество данного товара), должно быть привязано к данному товару. Должно совпадать с id товаром
Спустя 10 минут, 36 секунд (24.02.2010 - 19:34) pas написал(а):
Ну тогда сделайте, чтобы name, куда должно выводится количество просто было разным. Тогда и не будет возникать подобной проблемы. Ну например, вместо kol будет $f[opis] . 'kol'.
Главное, чтобы не было одинаковых name. У Вас сейчас их число равно количеству товаров. Поэтому при обращении $_POST['kol'] и выбирается последнее.
P.S. Надеюсь, понятно объяснил =) С этим у меня как-то не очень =))
Главное, чтобы не было одинаковых name. У Вас сейчас их число равно количеству товаров. Поэтому при обращении $_POST['kol'] и выбирается последнее.
P.S. Надеюсь, понятно объяснил =) С этим у меня как-то не очень =))
Спустя 38 минут, 4 секунды (24.02.2010 - 20:12) RuslanMRP написал(а):
pas
Не получаеться. давай заново. У меня есть бд. заходит клиент отмечает те товары которые он хочет преобрести, после чего ему выводиться все товары которые он отметил + напротив каждого поля товара появляеться поле для указания количества штук данного товара + напротив каждого поля чекбоксы, если он передумал и при отключении товара сможет убрать товар.
Он указывает напротив каждого товара, количество штук. И после всего этого ему выводиться все товары и их количество, которые он заказал.
Не получаеться. давай заново. У меня есть бд. заходит клиент отмечает те товары которые он хочет преобрести, после чего ему выводиться все товары которые он отметил + напротив каждого поля товара появляеться поле для указания количества штук данного товара + напротив каждого поля чекбоксы, если он передумал и при отключении товара сможет убрать товар.
Он указывает напротив каждого товара, количество штук. И после всего этого ему выводиться все товары и их количество, которые он заказал.
Спустя 15 часов, 9 минут, 40 секунд (25.02.2010 - 11:22) pas написал(а):
А можно последние изменения посмотреть?
Спустя 38 минут, 28 секунд (25.02.2010 - 12:00) RuslanMRP написал(а):
pas
Файл где, появляються поля для ввода количества-
Файл где должны выводиться поля-
Файл где, появляються поля для ввода количества-
<?
include "options.php";
if(!mysql_connect($host,$USER,$PASSWD))
{
echo "<h1>Ошибка сервера MySql.</h1>";
exit;
}
echo $_SESSION['name'];
mysql_select_db($DB);
echo "<table border=1 width=100%>";
$r=mysql_query("select * from tovar where cat = 'CD'");
echo "<form method=POST action=index1.php>";
for ($i=0; $i<mysql_num_rows($r); $i++)
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td>$f[cat]</td><td>$f[opis]</td><td>$f[price]</td><td><input type=checkbox name=Arr[] value=".$f['id']."></td><td
align='center'><input type=text name='kol'.$f size=5></td></tr>";
}
echo "<tr><td align=center colspan=4><input type=submit name=buy value=заказать></></td></tr>";
echo "</table>";
echo "</form>";
?>
Файл где должны выводиться поля-
<?
include "options.php";
if(!mysql_connect($SERVER,$USER,$PASSWD))
{
echo "Ошибка";
}
if(isset($_POST["buy"]))
{
$q="select * from tovar where";
foreach($_POST['Arr'] as $k=>$v) $q=$q." (id=$v) or";
$q=substr($q,0,strlen($q)-3);
mysql_select_db($DB);
$r=mysql_query($q);
echo "<table border=1 width=100%>";
echo "<form method=POST action=index11.php>";
echo "<tr><td bgcolor=#336699>наименование</td><td bgcolor=#336699 align='right'>Цена</td><td bgcolor=#336699
align='center'>ВСЕ</td><td bgcolor=#336699 align='center'>Кол-во(штук)</td></tr>";
$sum=0;
for($i; $i<mysql_num_rows($r); $i++)
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td align='left'>$f[opis]</td><td align='right'>$f[price]</td><td><input type=checkbox name=Arr[] value=".$f['id']."
checked></td><td align='center'>$_POST[kol]</td>";
$sum+=$f['price'];
echo "</tr>";
}
echo "<tr><td><input type='submit' name='goo' value='подтвердить'></td></tr>";
echo "</form>";
echo "</table>";
echo "Общая сумма заказа: $sum\n";
}
?>
Спустя 12 минут, 34 секунды (25.02.2010 - 12:13) RuslanMRP написал(а):
надо сделать так, чтобы каждое поле type='text'(количество) было равно своему чекбоксу.
Спустя 38 секунд (25.02.2010 - 12:13) pas написал(а):
Я имел ввиду сделать например так:
P.S. Обрамляйте, пожалуйста, код в теги.
<?php
include "options.php";
if(!mysql_connect($host,$USER,$PASSWD))
{
echo "<h1>Ошибка сервера MySql.</h1>";
exit;
}
echo $_SESSION['name'];
mysql_select_db($DB);
echo "<table border=1 width=100%>";
$r=mysql_query("select * from tovar where cat = 'CD'");
echo "<form method=POST action=index1.php>";
for ($i=0; $i<mysql_num_rows($r); $i++)
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td>$f[cat]</td><td>$f[opis]</td><td>$f[price]</td><td><input type=checkbox name=Arr[] value=".$f['id']."></td><td
align='center'><input type=text name='kol".$f['id']."' size=5></td></tr>";
}
echo "<tr><td align=center colspan=4><input type=submit name=buy value=заказать></></td></tr>";
echo "</table>";
echo "</form>";
?>
<?php
include "options.php";
if(!mysql_connect($SERVER,$USER,$PASSWD))
{
echo "Ошибка";
}
if(isset($_POST["buy"]))
{
$q="select * from tovar where";
foreach($_POST['Arr'] as $k=>$v) $q=$q." (id=$v) or";
$q=substr($q,0,strlen($q)-3);
mysql_select_db($DB);
$r=mysql_query($q);
echo "<table border=1 width=100%>";
echo "<form method=POST action=index11.php>";
echo "<tr><td bgcolor=#336699>наименование</td><td bgcolor=#336699 align='right'>Цена</td><td bgcolor=#336699
align='center'>ВСЕ</td><td bgcolor=#336699 align='center'>Кол-во(штук)</td></tr>";
$sum=0;
for($i; $i<mysql_num_rows($r); $i++)
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td align='left'>$f[opis]</td><td align='right'>$f[price]</td><td><input type=checkbox name=Arr[] value=".$f['id']."
checked></td><td align='center'>".$_POST['kol'.$f['id']]."</td>";$sum+=$f['price'];
echo "</tr>";
}
echo "<tr><td><input type='submit' name='goo' value='подтвердить'></td></tr>";
echo "</form>";
echo "</table>";
echo "Общая сумма заказа: $sum\n";
}
?>
P.S. Обрамляйте, пожалуйста, код в теги.
Спустя 2 минуты, 58 секунд (25.02.2010 - 12:16) RuslanMRP написал(а):
pas
Огромное спасибо, очень выручил.
Огромное спасибо, очень выручил.
Спустя 11 часов, 9 минут, 40 секунд (25.02.2010 - 23:26) RuslanMRP написал(а):
pas
Подскажи пожалуйсто, по этому же вопросу.
Я хочу внести <input type=text name='kol".$f['id']."' size=5>
в сессию. Какое имя переменной получаеться?
Прописываю :
$_SESSION['kol".$f['id']."']=$_POST['kol".$f['id']."'];
как провильно сделать?
Подскажи пожалуйсто, по этому же вопросу.
Я хочу внести <input type=text name='kol".$f['id']."' size=5>
в сессию. Какое имя переменной получаеться?
Прописываю :
$_SESSION['kol".$f['id']."']=$_POST['kol".$f['id']."'];
как провильно сделать?
Спустя 12 часов, 12 минут, 8 секунд (26.02.2010 - 11:38) pas написал(а):
Если я правильно понял, то вот так:
При этом в сессии хранятся переменные kol1, kol2, kol3 и т.д. для id 1,2,3 и т.д. соответственно.
$_SESSION['kol'.$f['id']]=$_POST['kol'.$f['id']];
При этом в сессии хранятся переменные kol1, kol2, kol3 и т.д. для id 1,2,3 и т.д. соответственно.
Спустя 45 минут, 21 секунда (26.02.2010 - 12:24) twin написал(а):
Любопытно... В чекбоксах вы используете массив, а в текстовых полях какие то извращения с kol123...
Что за кол? На него посадить надо всех вас за такой код.
Так почему не сделать?
Что за кол? На него посадить надо всех вас за такой код.
Так почему не сделать?
"<input type=text name='kol[".$f['id']."]' size=5>"
Спустя 44 минуты, 13 секунд (26.02.2010 - 13:08) pas написал(а):
Действительно, виноват, особо не вникнул в код (((((( Пора всё-таки отдохнуть..
Спустя 7 часов, 21 минута (26.02.2010 - 20:29) RuslanMRP написал(а):
Пацаны спасибо!
Спустя 16 часов, 43 минуты, 59 секунд (27.02.2010 - 13:13) RuslanMRP написал(а):
twin
Извини за беспокойство. Подскажи, если я прописываю
"<input type=text name='kol[".$f['id']."]' size=5>"
то, обрабатываю
".$_POST['kol['.$f['id']'].']." - это не правильно. Подскажи как?
Извини за беспокойство. Подскажи, если я прописываю
"<input type=text name='kol[".$f['id']."]' size=5>"
то, обрабатываю
".$_POST['kol['.$f['id']'].']." - это не правильно. Подскажи как?