PHP, mysql и цикл

12
[Удален]
733

Привет! Пипец, не хватает видимо серого вещества. никак не соображу:


echo "<form action=sendf.php method=post>";
$d="SELECT * FROM plintus_furniture where f_plintus='$ppli_collection' order by f_name";
$d2=mysql_query("$d");
while($an=mysql_fetch_array($d2)) {
$f_id=$an["f_id"]; $f_name=$an["f_name"]; $f_price=$an["f_price"]; $f_ed=$an["f_ed"];
echo "<tr><td>$f_name - <b>$f_price рублей/$f_ed</b></td><td>
<input type=hidden name='f_price[]' size=5 value='$f_price'>
<input type=text name='f_id[]' size=5> $f_ed</td></tr>";}
<input type=submit value='Добавить к заказу'>
</td></tr></form>
echo "</table>
";

Смысл в чем.. Из базы берется товар, цена, единица измерения. Каждый товар выводится с текстовым полем, в котором юзер указывает количество товара. Дальше, кнопка "Добавить к заказу".. а вот как потом все это обрабатывать? Т.е. в итоге нужен список товаров и общая сумма заказанного... второй день сижу туплю ;((

C2
На сайте с 14.07.2009
Offline
83
#1

смотри в сторону массива $HTTP_POST_VARS

InoHacker
На сайте с 18.10.2009
Offline
75
#2

Если я правильно понял, может имеет смысл сделать табличку, куда заносить id товара и его количество. Т.е. три поля:

1. Номер заказа

2. id товара

3. количество товара

А при нажатии кнопки, допустим "корзина", брать из таблички по id заказа ?

Или я что то не так понял ? =)

Магазин аккаунтов с балансом Litres,DNS,Ozon,Rotapost и еще 50+ других сервисов тут - vk.cc/7QK0Sk
[Удален]
#3
cyber2:
смотри в сторону массива $HTTP_POST_VARS

Слушай, возникла идея одна.. не знаешь, как сделать следующее:

$f=1;


цикл: начало

$a=$id_$f;

цикл: конец
$f++;

как мне получить значение переменной $id_1?

asamakin добавил 25.11.2009 в 09:37

InoHacker:
Если я правильно понял, может имеет смысл сделать табличку, куда заносить id товара и его количество. Т.е. три поля:
1. Номер заказа
2. id товара
3. количество товара

А при нажатии кнопки, допустим "корзина", брать из таблички по id заказа ?

Или я что то не так понял ? =)

смотри.. www.svoypol.ru .. добавь в корзину 1 ламинат.. перейди в плинтус, коллекция Cesar... добавь 1 плинтус ... перейди в корзину.. увидишь форму "Фурнитура к плинтусу".. вот эти данные в табличке из четырех строк берутся из базы.. после нажатия кнопки "Добавить к заказу", мне нужно в базу занести просто текстом:

название фурнитуры, количество на сумму ..

InoHacker
На сайте с 18.10.2009
Offline
75
#4

Кажется понял в чем вопрос =)

А не проще тогда чуть переделать:

<input type=hidden name='price' size=5 value='$f_price'> ;

<input type=hidden name='id' size=5 value='f_id[]'> ;
<input type=text name='ed' size=5> $f_ed</td></tr>";
[Удален]
#5

А как же тогда получится одна price на все 4 вида фурнитуры?

InoHacker
На сайте с 18.10.2009
Offline
75
#6
asamakin:

смотри.. www.svoypol.ru .. добавь в корзину 1 ламинат.. перейди в плинтус, коллекция Cesar... добавь 1 плинтус ... перейди в корзину.. увидишь форму "Фурнитура к плинтусу".. вот эти данные в табличке из четырех строк берутся из базы.. после нажатия кнопки "Добавить к заказу", мне нужно в базу занести просто текстом:
название фурнитуры, количество на сумму ..

Может не втыкаю пока с утра, но не вижу проблемы. Почему тебе не назвать каждую форму ввода количества своим именем (не динамическим, а статическим) и потом писать в базу все это ?

[Удален]
#7
InoHacker:
Может не втыкаю пока с утра, но не вижу проблемы. Почему тебе не назвать каждую форму ввода количества своим именем (не динамическим, а статическим) и потом писать в базу все это ?

а как мне это сделать, если форма добавления фурнитуры изначально динамическая?

InoHacker
На сайте с 18.10.2009
Offline
75
#8

Все .. кажись воткнул =))


$i = 1;
while($an=mysql_fetch_array($d2)) {
$f_id=$an["f_id"]; $f_name=$an["f_name"]; $f_price=$an["f_price"]; $f_ed=$an["f_ed"];
echo "<tr><td>$f_name - <b>$f_price рублей/$f_ed</b></td><td>
<input type=hidden name='price'.$i size=5 value='$f_price'>;
<input type=hidden name='id' size=5 value='f_id[]'> ;
<input type=text name='ed' size=5> $f_ed</td></tr>";
$i++;
}

Может так ?

[Удален]
#9

<form action=sendf.php method=post>

<tr><td>соединение - <b>30 рублей/шт</b></td><td>

<input type=hidden name='price'.1 size=5 value='30'>

<input type=hidden name='id' size=5 value='f_id[]'>

<input type=text name='ed' size=5> шт</td></tr><tr><td>торцевые заглушки - <b>35 рублей/пара</b></td><td>

<input type=hidden name='price'.2 size=5 value='35'>

<input type=hidden name='id' size=5 value='f_id[]'>

<input type=text name='ed' size=5> пара</td></tr><tr><td>угол внутренний - <b>30 рублей/шт</b></td><td>

<input type=hidden name='price'.3 size=5 value='30'>

<input type=hidden name='id' size=5 value='f_id[]'>

<input type=text name='ed' size=5> шт</td></tr><tr><td>угол наружний - <b>35 рублей/шт</b></td><td>

<input type=hidden name='price'.4 size=5 value='35'>

<input type=hidden name='id' size=5 value='f_id[]'>

<input type=text name='ed' size=5> шт</td></tr></table>

asamakin добавил 25.11.2009 в 10:02


<table>
<form action=sendf.php method=post>
<tr><td>соединение - <b>30 рублей/шт</b></td><td>
<input type=hidden name='price_1' size=5 value='30'>
<input type=hidden name='id_1' size=5 value='14'>
<input type=text name='skoka' size=5> шт</td></tr><tr><td>торцевые заглушки - <b>35 рублей/пара</b></td><td>
<input type=hidden name='price_2' size=5 value='35'>
<input type=hidden name='id_2' size=5 value='15'>
<input type=text name='skoka' size=5> пара</td></tr><tr><td>угол внутренний - <b>30 рублей/шт</b></td><td>
<input type=hidden name='price_3' size=5 value='30'>
<input type=hidden name='id_3' size=5 value='13'>
<input type=text name='skoka' size=5> шт</td></tr><tr><td>угол наружний - <b>35 рублей/шт</b></td><td>
<input type=hidden name='price_4' size=5 value='35'>
<input type=hidden name='id_4' size=5 value='12'>
<input type=text name='skoka' size=5> шт</td></tr></table>
<input type=submit value='Добавить к заказу'>
</td></tr></form>

технически то что надо ;) ща попробую..

InoHacker
На сайте с 18.10.2009
Offline
75
#10

=)))

А если так :

$i = 1; 

while($an=mysql_fetch_array($d2)) {
$f_id=$an["f_id"]; $f_name=$an["f_name"]; $f_price=$an["f_price"]; $f_ed=$an["f_ed"];
echo "<tr><td>$f_name - <b>$f_price рублей/$f_ed</b></td><td>
<input type=hidden name='price.$i' size=5 value='$f_price'>;
<input type=hidden name='id' size=5 value='f_id[]'> ;
<input type=text name='ed' size=5> $f_ed</td></tr>";
$i++;
}
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий