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
Форумы портала PHP.SU :: Версия для печати :: Замена пробелов в тестовом поле на %20 в MySQL
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Замена пробелов в тестовом поле на %20 в MySQL

Страниц (1): [1]
 

1. Руслан71 - 30 Октября, 2010 - 13:32:52 - перейти к сообщению
При создании интернет-магазина картинки к товарам были сформированы с пробелами в названиях, таким образом ссылки на эти картинки теперь также с пробелами. Хочу это исправить заменив в базе данных все пробелы в ссылках в поле pic_small таблицы products на %20.
Но никак не получается.

Сначала была идея сделать так, но это не то:
UPDATE `products` SET `pic_small` = "%\%20%" WHERE `pic_small` LIKE "% %"

Подскажите, какую функцию и команду можно использовать?
Огорчение

P.S.
в названии темы опечатка - поле текстовое, а не тестовое Улыбка
2. Uchkuma - 30 Октября, 2010 - 13:37:41 - перейти к сообщению
Меняйте при формировании ссылки в скрипте, а не в базе данных.
3. Руслан71 - 30 Октября, 2010 - 13:47:35 - перейти к сообщению
Uchkuma пишет:
Меняйте при формировании ссылки в скрипте, а не в базе данных.

Ссылки уже все сформированы Огорчение
Около 800 ссылок с пробелами, в скрипте (phpshop start) трудоёмко их менять.

Может автоматизировать в MySQL это можно?
4. CenapaTop - 30 Октября, 2010 - 14:10:49 - перейти к сообщению
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE `products` SET `pic_small` = REPLACE(`pic_small`, ' ', '%20');
5. Руслан71 - 30 Октября, 2010 - 14:18:32 - перейти к сообщению
CenapaTop пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE `products` SET `pic_small` = REPLACE(`pic_small`, ' ', '%20');

Спасибо огромное!!!
Вы мне несколько десятков часов ручной работы съэкономили. Подмигивание
6. Uchkuma - 30 Октября, 2010 - 15:20:01 - перейти к сообщению
Руслан71 пишет:
Ссылки уже все сформированы
Около 800 ссылок с пробелами, в скрипте (phpshop start) трудоёмко их менять.
Вы не поняли. Сейчас у вас картинка в скрипте выводится примерно так:
PHP:
скопировать код в буфер обмена
  1. echo '<img src="'.$row['pic_small'].'">';
а вам нужно сделать так:
PHP:
скопировать код в буфер обмена
  1. echo '<img src="'.str_replace(' ', '%20', $row['pic_small']).'">';

Руслан71 пишет:
Может автоматизировать в MySQL это можно?
Производить преобразование всех имен в базе - неправильный подход. В базе всегда должны храниться исходные данные в оригинале, а уже на этапе вывода в браузер приводиться к нужному виду. Могу обосновать, зачем так нужно делать, если сами не догадаетесь.
7. Руслан71 - 30 Октября, 2010 - 18:05:03 - перейти к сообщению
Цитата:
Производить преобразование всех имен в базе - неправильный подход. В базе всегда должны храниться исходные данные в оригинале, а уже на этапе вывода в браузер приводиться к нужному виду. Могу обосновать, зачем так нужно делать, если сами не догадаетесь.

Расскажите пожалуйста. Не могу понять почему.
Не понял
8. OrmaJever - 31 Октября, 2010 - 15:21:43 - перейти к сообщению
Потому что преобразоватьты успеешь всегда, а вот исходные даные могут понадобится Улыбка

 

Powered by ExBB FM 1.0 RC1