PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (83): В начало « ... 75 76 77 78 79 80 81 82 [83]

> Найдено сообщений: 1232
tuareg Отправлено: 07 Сентября, 2011 - 01:47:06 • Тема: обновления подрят нескольких строк • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 35
mes.01 пишет:
есть такая таблица:
********************
wg_id * user_id * slide
********************
2 * 1 * 1
6 * 1 * 3
1 * 2 * 1
44 * 1 * 2

то есть при запросе с критерием user_id=1 выводиться:
2
44
6

есть ещё массив:
$slide=array("3", "2", "1");

вообщем надо написать запрос где поочерёдно обновляются строки в таблице с данными с массива $slide

и в итоге получалось бы так:
********************
wg_id * user_id * slide
********************
2 * 1 * 3
6 * 1 * 2
1 * 2 * 1
44 * 1 * 1

Сначала выдергиваете wg_id
Запрос
PHP:
скопировать код в буфер обмена
  1.  
  2. $sql=mysql_query(SELECT wg_id  FROM *** WHERE user_id=1)
  3. $i=0;
  4. while($row=mysql_fetch_array($sql)){
  5.  UPDATE *** SET slide=$slide[$i] WHERE wg_id=$row[0]
  6. ++i;
  7. }
  8.  

Писал на вскидку, возможны ошибки, логика такова, нужно выдернуть не повторяющееся значение(уникальный ключ) и по нему обновлять.
Если значения повторяются, тогда, узнавать количество COUNT(*) WHERE user_id=1
и через цикл можно for()
запрос такой
PHP:
скопировать код в буфер обмена
  1.  
  2. UPDATE *** SET slide=$slide[$i] WHERE user_id=1 LIMIT $i 1
  3.  

На счет этого абсолютно не знаю поддерживается ли LIMIT при UPDATE
tuareg Отправлено: 30 Ноября, 2010 - 13:27:55 • Тема: Скрипт вешает базу • Форум: Программирование на PHP

Ответов: 15
Просмотров: 919
Я не уверен, но если ты делаешь UPDATE таблицы, то она блокируется, т.е из нее нельзя считать данные

Страниц (83): В начало « ... 75 76 77 78 79 80 81 82 [83]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB