Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: MySQL и удаление определеной вещи по id номеру
say_to_chat ("s","Поздравляем!!! вы изготовили <b>Эликсир силы</b>","1",$pers["user"],$pers["location"],date("H:i:s"));
mysql_query("UPDATE users SET inv=CONCAT(inv,'111014=0=|') WHERE `uid`='".$pers["uid"]."'");
break;
endswitch;
$decoct_acted=1;
endif;
?>
т.е. функция скрипта такая: При нажатии на свиток "Использовать" он удаляет ингридиенты с ID номерами: 1000 и 1001 и добавляет зелье с id номером 111014
Делаю запрос в таблицу users и добавляю в инвентарь inv вещь с ID номером 111014 в колличестве 1.
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
CTAPu4OK пишет:
WHERE `uid`='".$pers["uid"]." IN (inv,'1000=0=|')");
А что это обознаает?
CTAPu4OK
Отправлено: 06 Июня, 2009 - 08:17:09
Гость
Покинул форум
Сообщений всего: 67
Дата рег-ции: Июль 2008
Помог: 0 раз(а)
Champion пишет:
CTAPu4OK пишет:
WHERE `uid`='".$pers["uid"]." IN (inv,'1000=0=|')");
А что это обознаает?
Мне аж стыдно стало)) с MySQL я практически не работал,
`uid`='".$pers["uid"]. ид номер персонажа у которого удаляем вещь
(inv,'1000=0=|') inv это столбик в таблице users в нем хранятся записи bokal=0=|1000=0=|итд мне надо было удалить 1000=0= вот я и попытася, не получилось =))
Приведите хотя бы пример как удалить определеную запись в столбике =)
Champion
Отправлено: 06 Июня, 2009 - 08:54:17
Активный участник
Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008 Откуда: Москва
Помог: 57 раз(а)
во-первых, перед IN надо кавычку закрыть.
IN (inv,'1000=0=|') - конструкция странная, IN для других целей используется.
Если у тебя прям вот так "bokal=0=|1000=0=|итд" хранится в одной ячейке, то:
-перепроектируй БД, чтоб такого не было. Сделай 2 таблицы, связанных 1-ко-многим.
-если 1й вариант не нравится, средствами PHP делаешь селект, удаляешь не нужную вещи из строки, делаешь update.
CTAPu4OK
Отправлено: 06 Июня, 2009 - 15:24:44
Гость
Покинул форум
Сообщений всего: 67
Дата рег-ции: Июль 2008
Помог: 0 раз(а)
Champion пишет:
во-первых, перед IN надо кавычку закрыть.
IN (inv,'1000=0=|') - конструкция странная, IN для других целей используется.
Если у тебя прям вот так "bokal=0=|1000=0=|итд" хранится в одной ячейке, то:
-перепроектируй БД, чтоб такого не было. Сделай 2 таблицы, связанных 1-ко-многим.
-если 1й вариант не нравится, средствами PHP делаешь селект, удаляешь не нужную вещи из строки, делаешь update.
Ясно))) первый вариант мне не подходит, это придется все функции переписывать)
Второй чесно говооря я вообще не представляю себе как реализовать, так как не разу с этим не сталкивался, ведь надо удалить уже имеющиясю строку и при этом не задеть другие)))
А так проблему решил, пришлось заного перечитывать док по пхп =)))
Спасибо =)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.