![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Igor_CH |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 20.3.2005 Репутация: нет Всего: нет |
Id Id_kat k1 k2
1 1 5 2 2 1 1 3 3 1 5 4 4 1 3 3 5 1 2 6 Из базы вывел, получил пять строк по два значения которые надо поменять (k1 и k2). А как теперь сделать UPDATE сразу во всех строках? Для одной понятно:
|
|||
|
||||
| Darhazer |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 28.9.2005 Где: HellCity (Sofia, Bulgaria) Репутация: 3 Всего: 29 |
Тебе нужно чтото типа:
Сейчась пробую и напишу точно... P.S. Не много ошибся, но этого давно не делал /в общеем класическая задача - поменят значения двух var без третой/
Это сообщение отредактировал(а) Darhazer - 22.8.2006, 17:46 -------------------- I'm a wheel, I'm a wheel, I can roll, I can feel But you can't stop me turning 'Cause I'm the sun, I'm the sun, I can move, I can run But you'll never stom me burning |
||||
|
|||||
| Igor_CH |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 20.3.2005 Репутация: нет Всего: нет |
Не совсем понял, а как это работает.
Мне же надо понять к1 и к2 под своим ID. сейчас: Id Id_kat k1 k2 1 1 5 2 2 1 1 3 3 1 5 4 4 1 3 3 5 1 2 6 а потом например: Id Id_kat k1 k2 1 1 8 1 2 1 5 1 3 1 9 2 4 1 8 4 5 1 7 1 |
|||
|
||||
| ewolf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: 2 Всего: 18 |
Идея состоит в том, чтобы поменять значения двух переменных, не вводя третьей вспомогательной. Это возможно, так как значения твоих переменных - числа.
Дело в том, что SQL последовательно выполняет команды, описанные в разделе SET По строкам описание: k1 = k1 + k2 переменная k1 хранит сумму двух переменных k2 = k1 - k2 переменная k2 становится равной k1, так как имеем по-сути такое выражение k2 = (k1+k2) - k2 = k1 k1 = k1 - k2 учитывая предыдущие операции, имеем k1 = (k1+k2) - ((k1 + k2) - k2) = k2 |
|||
|
||||
| Darhazer |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 28.9.2005 Где: HellCity (Sofia, Bulgaria) Репутация: 3 Всего: 29 |
Igor_CH
видимо я не понял твой вопрос С моем кодом из Id Id_kat k1 k2 1 1 5 2 2 1 1 3 3 1 5 4 4 1 3 3 5 1 2 6 получиш Id Id_kat k1 k2 1 1 2 5 2 1 3 1 3 1 4 5 4 1 3 3 5 1 6 2 Нелзя сделать UPDATE несколько строк если значения, которые будеш записивать, будут разние, и нельзя их записать в виде f=x+y -------------------- I'm a wheel, I'm a wheel, I can roll, I can feel But you can't stop me turning 'Cause I'm the sun, I'm the sun, I can move, I can run But you'll never stom me burning |
|||
|
||||
| Igor_CH |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 20.3.2005 Репутация: нет Всего: нет |
не получается
Одно и тоже: Id Id_kat k1 k2 1 1 2 1 2 1 2 1 3 1 2 1 4 1 2 1 5 1 2 1 Добавлено @ 10:54 упс не заметил ответа выше. Так есть какой то выход? может цикл пустить? Получается много раз водить, это я на примере 5 строк показал, а поправде их 5 по 25 и того 625 раз вводить и нажимать кнопку сохранить! это ж вечность. Наверно надо тогда не UPDATE а REPLACE INTO, тогда ID теряю |
|||
|
||||
| PARROT |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 3 Всего: 50 |
У меня сделано так:
Добавлено @ 11:23 Получаем массив данных, делим их на ключ->значение и записываем. -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
||||
|
|||||
| Igor_CH |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 20.3.2005 Репутация: нет Всего: нет |
Ошибка: Parse error: parse error, unexpected '{' in w:\home\......
в строке:
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 14 Всего: 260 |
если $ar[$idx] - число, а не строка, то надо убрать соседствующие кавычки. Если - строка, то поставить одинарные кавычки.
|
|||
|
||||
| Igor_CH |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 20.3.2005 Репутация: нет Всего: нет |
число , убираем кавычки получаем такую ошибку:
Warning: Variable passed to each() is not an array or object in w:\home..... в строке
|
|||
|
||||
| PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 3 Всего: 50 |
Это сообщение отредактировал(а) PARROT - 23.8.2006, 15:09 -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
| Igor_CH |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 20.3.2005 Репутация: нет Всего: нет |
PARROT с этой ошибкой разобрались.
Следующая Warning: Variable passed to each() is not an array or object in w:\home..... в строке:
|
|||
|
||||
| PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 3 Всего: 50 |
Сложно гадать когда не можешь проверить. У меня было со строкой и было с числом, но второе я не могу найти.
Добавлено @ 15:13 И такая ошибка была у меня, тут кроется как раз в первой ошибке, попробуйте поиграть с запросом и его кавычками, в разных вариациях. Печатайте запрос:
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
| Igor_CH |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 288 Регистрация: 20.3.2005 Репутация: нет Всего: нет |
Код:
БД:
|
||||
|
|||||
| -=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 17 Всего: 69 |
Igor_CH, я что то не врубаюсь, что ты хочешь сделать? Что н ачто поменять?
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |