Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: вывод в тексте одно слово с заменой

Сообщения:  [1-10]   [11-15] 

 
 автор: xpom   (09.07.2008 в 20:33)   письмо автору
 
   для: Trianon   (09.07.2008 в 19:55)
 

Спасибо большое, вроде все понятненько...заменяет команда str_replace, я так понял.
Буду пробовать, еще раз спасибо Вам...

   
 
 автор: Trianon   (09.07.2008 в 20:12)   письмо автору
 
   для: ,,,,   (09.07.2008 в 20:05)
 

Каков запрос - таков ответ.
Тогда уж:
SELECT `OID`, `San`, `OName`, REPLACE(discript, 'Москва', STName) FROM opis,sity 


Не люблю кросс-джоинов, но по-моему, это куда лучше, чем Ваш UNION

   
 
 автор: ,,,,   (09.07.2008 в 20:05)
 
   для: Trianon   (09.07.2008 в 19:59)
 

я о том-же , всего ничего данных , а такое большевастенькое время выполнения )

   
 
 автор: Trianon   (09.07.2008 в 19:59)   письмо автору
 
   для: ....   (09.07.2008 в 19:54)
 

До чего полезное дело - на таблице из трех строк запускать бенчмарки.

   
 
 автор: Trianon   (09.07.2008 в 19:55)   письмо автору
 
   для: xpom   (09.07.2008 в 16:13)
 

То есть получить строку с текстом в переменную $opis Вы умеете.
Теперь, помимо этого, получите точно также из другой таблицы строку с текстом в переменную $gorod.
Останется лишь заменить слово:
$opis = str_replace('Москва', $gorod, $opis);
После чего - вывести.

   
 
 автор: ....   (09.07.2008 в 19:54)
 
   для: xpom   (09.07.2008 в 18:08)
 

(initialization) 0.0000192
Opening tables 0.0000557
System lock 0.0000022
Table lock 0.0000035
init 0.0000057
optimizing 0.0000027
statistics 0.000005
preparing 0.0000047
executing 0.000036
Sending data 0.0000275
end 0.0000042
query end 0.0000035
freeing items 0.0000065
closing tables 0.000003
removing tmp table 0.0000232
closing tables 0.000006
logging slow query 0.0000027


Отображает строки 0 - 5 (6 всего, запрос занял 0.0053 сек.)

при первом запросе , не использующем кэшированные данные


(SELECT `OID`, 
`San`, `OName`, REPLACE(discript, 'Москва', (SELECT STName FROM sity WHERE STID=1)) FROM opis)
UNION ALL
(SELECT `OID`, 
`San`, `OName`, REPLACE(discript, 'Москва', (SELECT STName FROM sity WHERE STID=5)) FROM opis)

   
 
 автор: xpom   (09.07.2008 в 18:08)   письмо автору
 
   для: Trianon   (09.07.2008 в 16:28)
 

Да меняться должно слово "Москва".
Ну может есть какие ошибки...

   
 
 автор: Trianon   (09.07.2008 в 16:28)   письмо автору
 
   для: xpom   (09.07.2008 в 16:13)
 

Из приведенного содержимого таблиц никак не выходит, что должно меняться именно слово "Москва"

   
 
 автор: xpom   (09.07.2008 в 16:13)   письмо автору
 
   для: Trianon   (09.07.2008 в 14:51)
 

таблица с текстом имеет следующий обычный текст:

INSERT INTO `opis` VALUES(5, 4, 'Увлечение', 'идет описание... и имеется название города... Москва ... описание... Москва... описание, ');
INSERT INTO `opis` VALUES(5, 7, 'Отдых', 'идет описание... и имеется название города... Москва ... описание... Москва... описание, ');


и вот дамп таблицы с городами:


INSERT INTO `opis` VALUES(1, 'Омск');
INSERT INTO `opis` VALUES(5,  'Новосибирс');


Нужно вывести текст первой таблицы (discript) с заменой города Москва на Омск, в другом варианте на Новосибирск, в зависимости от того какое значение имеет переменная в адресной строке...

вот например выводим:


$res = mysql_query("SELECT opis FROM Cat
             WHERE OID=".$_GET['op'],$db);
            if(!$res) exit("Ошибка - ".mysql_error());
            if ($myrow = mysql_fetch_row($res)) {
            $opis=$myrow[3];
            }
            else {
            $opis='no';
            }
echo "$opis";

ну это я просто вывел а нужно с заменой города...

   
 
 автор: Trianon   (09.07.2008 в 14:51)   письмо автору
 
   для: xpom   (09.07.2008 в 12:11)
 

Структура таблиц - это замечательно.
Теперь бы еще несколько строк из дампа данных этих таблиц,
пример вызова, и текст ожидаемого результата.

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования