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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Обновить сразу несколько позиций в MySql

Сообщения:  [1-10]   [11-15] 

 
 автор: D.A.N_visator   (06.05.2008 в 19:21)   письмо автору
 
   для: elenaki   (06.05.2008 в 10:08)
 

Спасибо Sim5, подкинули идею!

   
 
 автор: elenaki   (06.05.2008 в 10:08)   письмо автору
 
   для: sim5   (06.05.2008 в 03:10)
 

я делала обновление группы товаров, но только продажной цены. выбирается группа, в поле
"Наценка" ставится %, нажимается кнопка и всем товарам выбранной группы продажная цена
увеличивается на процент наценки. а остальные изменения - фотки, описания, наличие - это
в каждой позиции индивидуально.

   
 
 автор: sim5   (06.05.2008 в 03:10)   письмо автору
 
   для: AVS   (05.05.2008 в 20:16)
 

А давайте по 50 и поразмышляем. У вас электронный магазин, а это большие отличия от магазина по улице Такой-то. Что у вас должно быть в качестве информации о товаре?
1. Название товара.
2. Призводитель товара (необязательный пункт, но если вы пожелаете разметить свои товары в Яндекс маркет, то он потребуется).
4. Краткое описание товара.
5. Дополнительное (полное описание товара). Так же могут быть, например, инструкции по применению товара.
6. Характеристики товара (например, видеокарты, но - разных производителей, марки и прочее).
7. Цена товара.
8. Возможно оптовая цена товара.
9. Скидка на товар.
10. Количество товара на складе.
12. Сколько продано.
13. Рейтинг товара среди покупателей.
14. Отзывы покупателей о товаре.
15. Дата добавления товара.
16. Фото (либо несколько фото - малое, среднеее, большое).
17. Статус товара: показывать или нет товар на странице. Товар может временно отсутствовать и вы скрываете его. Но можно срывать 50/50, то есть он не скрыт, его просто нельзя положить в корзину, но можно сделать предварительную заявку на него. Или его нельзя положить в корзину, но посетителю важна информация о нем. Значит полей статуса может быть уже два, а не одно.

Не обязательно все это должно быть, что вам нужно, вам виднее, но многое из этого у вас будет несомненно. А теперь давайте размышлять, что из этого списка выгодно обновлять группой. Выбрав некую категорию товаров, вы получаете полный их список (либо постраничной навигацией) со всеми этими полями, причем, фото не выводится, а указывается наличие их, или нет, а так же не выводятся описания товаров. И в этом списке можно изменить статус товара (чекбоксы), скидку (а скидка возможна на группы товаров), ну может быть и цену товаров, количество на складе. ВСЕ. А вот название товара, производитель, описания, добаление и изменение фото... все это лучше производить отдельно и для одного товара, например щелкнув по названию товара, делать переход на другую страницу (или открывать новое окно), где вы можете редактировать всю информацию о товаре, включая перенос товара из одной категории в другую (смена родителя). Здесь обновление будет только для одного id, а из таблицы для многих id, но "легкие". Так удобнее, и не ради того, что вы заботитесь о загруженности MySQL своими запросами, а просто так удобнее выводить и редактировать данные.

   
 
 автор: AVS   (05.05.2008 в 20:42)   письмо автору
 
   для: D.A.N_visator   (05.05.2008 в 20:35)
 

На сколько я знаю, синтаксис UPDATE не позволяет обновить сразу несколько конкретных строк. Придется все таки по отдельной кнопке на каждый товар ставить. А выполнять 30 запросов на обновление каждого - я считаю это непривильным.

   
 
 автор: D.A.N_visator   (05.05.2008 в 20:35)   письмо автору
 
   для: AVS   (05.05.2008 в 20:16)
 

nu i kak uspehi?

   
 
 автор: AVS   (05.05.2008 в 20:16)   письмо автору
 
   для: sim5   (05.05.2008 в 02:31)
 

А как тогда узнать, какие товары изменил пользователь? Я сейчас делаю похожую задачу. Мне надо так же одновременно обновить несколько товаров. Можно конечно сделать так, чтобы обновление произвонилось только для одного товара (для каждого своя кнопка), но это неудобно. Я тоже хочу построить один большой запрос на обновления всех товаров одновременно (к примеру, не более 30).

   
 
 автор: D.A.N_visator   (05.05.2008 в 20:08)   письмо автору
 
   для: sim5   (05.05.2008 в 02:31)
 

>а вы пытаетесь вставить все это в свой код

а что я по вашему должен делать? мне ж надо решить проблему.

   
 
 автор: sim5   (05.05.2008 в 02:31)   письмо автору
 
   для: D.A.N_visator   (04.05.2008 в 20:56)
 

Вы странный ей богу. Я вам написал пример получения id ключа и значения для его полей через print. Это не более чем пример, а вы пытаетесь вставить все это в свой код, включая и print, и <br>? А вообще вопрос встречный. Например, у вас на странице будет вывод 30 товарных позиций, и вы внесете изменения только в пяти из них, и тогда вы тоже будете производить обновление для всех 30 позиций?

   
 
 автор: D.A.N_visator   (04.05.2008 в 20:56)   письмо автору
 
   для: D.A.N_visator   (04.05.2008 в 16:17)
 

Объясните пожалуйста для непонятливых как это вставить в апдейт?



if(isset($_POST['salveaza']))
{

foreach ($_POST as $key => $val) { 
  $k = explode('_', $key); 
  print $k[0].'_'.$k[1].' - '.$val.'<br>'; //&#253;&#242;&#238; &#242;&#238; &#232; &#234;&#238;&#236;&#243; &#238;&#225;&#237;&#238;&#226;&#232;&#242;&#252; 



$sq44 = ("UPDATE `spsc_tovary` SET

`tovar` =  '$val',
........



WHERE  `id`='".$k['1']."'   "); 


if(!mysql_query($sq44)) 
 
exit (mysql_error()); 


}

   
 
 автор: D.A.N_visator   (04.05.2008 в 16:17)   письмо автору
 
   для: sim5   (04.05.2008 в 01:44)
 

spasibo poprobuiu

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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