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 :: Замена пробелов в тестовом поле на %20 в MySQL

 PHP.SU

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


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

> Описание: Не получается заменить пробелы в поле в базе данных на %20
Руслан71
Отправлено: 30 Октября, 2010 - 13:32:52
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




При создании интернет-магазина картинки к товарам были сформированы с пробелами в названиях, таким образом ссылки на эти картинки теперь также с пробелами. Хочу это исправить заменив в базе данных все пробелы в ссылках в поле pic_small таблицы products на %20.
Но никак не получается.

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

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

P.S.
в названии темы опечатка - поле текстовое, а не тестовое Улыбка

(Отредактировано автором: 30 Октября, 2010 - 13:34:55)

 
 Top
Uchkuma
Отправлено: 30 Октября, 2010 - 13:37:41
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




Меняйте при формировании ссылки в скрипте, а не в базе данных.
 
 Top
Руслан71
Отправлено: 30 Октября, 2010 - 13:47:35
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Uchkuma пишет:
Меняйте при формировании ссылки в скрипте, а не в базе данных.

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

Может автоматизировать в MySQL это можно?
 
 Top
CenapaTop
Отправлено: 30 Октября, 2010 - 14:10:49
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009  


Помог: 1 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE `products` SET `pic_small` = REPLACE(`pic_small`, ' ', '%20');
 
 Top
Руслан71
Отправлено: 30 Октября, 2010 - 14:18:32
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




CenapaTop пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE `products` SET `pic_small` = REPLACE(`pic_small`, ' ', '%20');

Спасибо огромное!!!
Вы мне несколько десятков часов ручной работы съэкономили. Подмигивание
 
 Top
Uchkuma
Отправлено: 30 Октября, 2010 - 15:20:01
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




Руслан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 это можно?
Производить преобразование всех имен в базе - неправильный подход. В базе всегда должны храниться исходные данные в оригинале, а уже на этапе вывода в браузер приводиться к нужному виду. Могу обосновать, зачем так нужно делать, если сами не догадаетесь.
 
 Top
Руслан71
Отправлено: 30 Октября, 2010 - 18:05:03
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Цитата:
Производить преобразование всех имен в базе - неправильный подход. В базе всегда должны храниться исходные данные в оригинале, а уже на этапе вывода в браузер приводиться к нужному виду. Могу обосновать, зачем так нужно делать, если сами не догадаетесь.

Расскажите пожалуйста. Не могу понять почему.
Не понял

(Отредактировано автором: 30 Октября, 2010 - 18:08:01)

 
 Top
OrmaJever
Отправлено: 31 Октября, 2010 - 15:21:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Потому что преобразоватьты успеешь всегда, а вот исходные даные могут понадобится Улыбка


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB