Update большой формы

Dreamer76

Through thorns
Update большой формы

Добрый день!

Подскажите пожалуйста. У меня выводится спикок товаров из mysql, а рядом с каждым товаром есть форма input text. В этой форме в value выводится цена товара. Имя (name) каждой формы - это порядковый номер товара в базе.

Пример (<input type=text value=<? print($row["price"]);?> name=<? print($row["id"]);?>>)

Масло <input type=text value="43.00" name=453>
Мясо <input type=text value="66.00" name=54>
Хлеб <input type=text value="34.00" name=33>
Молоко <input type=text value="97.00" name=17>
Сыр <input type=text value="12.00" name=403>

Форма получается огромная. Примерно 400 позиций.

Я делаю это для того, чтобы можно было менять цены на товары.

И вот я забил туда новые цены и нажал submit.

Как лучше обработать все это? ($sql = "update tovary set .. ")

-~{}~ 24.10.06 13:50:

Вроде как додумался

-~{}~ 24.10.06 13:56:

i did it ))
если кому надо - скажите - покажу решение
 

tf

крылья рулят
Dreamer76, ты тут только для себя пишеш или нет
если придумал что полезное можеш написать
кому-то 'может быть' и пригодится или призадуматся или покритиковать захочется неважно
отпишись чтобы потом в поиске можно было найти

-~{}~ 24.10.06 14:33:

ps/ на старые значения проверяеш?
 

Dreamer76

Through thorns
Итак:

строю список:
<input type=text value=<? print($row["price"]);?> name=price[<? print($row["id"]);?>]>

после submit отправляю:

$ma = $_POST["price"];

while (list($v0, $v1) = each ($ma)) {
$sql = "update имя set price='$v1' where id = $v0";
$result = mysql_query($sql);
}

И все.
На старые значения зачем проверять? Смысл?
 

BRat

o_0
ох, такое кол-во постов и такую гадость писать..как можно
 

Dreamer76

Through thorns
Автор оригинала: Rammstein
Dreamer76
Чтоб лишнее не обновлять. Простейшая оптимизация.
Я разбил свой список на категории и зафигачил все в подкаты. Так что на одну страницу выходит по 6-7 записей. При таком количестве оптимизация не принципиальна. imho, разумеется.
 

tf

крылья рулят
Dreamer76, ихмо это довольно таки мешает при изменении страницы двумя пользователями
один изменил, другой испортил

неважно что у тебя сейчас там один юзер, когда будет несколько будет неприятно ;)

-~{}~ 24.10.06 16:55:

впринципе ты не обновляеш (новые) сейчас данные а изменяеш (все), а это разные вещи
 

Popoff

popoff.donetsk.ua
Dreamer76
Если в таблице нет других столбцов, то можно попробовать replace.

-~{}~ 24.10.06 17:09:

другой вариант - использовать if (схематично):
update ... set price=if(id=$id1,$v1,if(id=$id2,$v2,if(id=$id3,$v3,price))) where id in($id1,$id2,$id3)

хотя, ни об одном из этих способов, не проведя экспериментальных замеров времени, нельзя сказать, что он будет быстрее всех остальных.
 
Сверху