Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использовать переменные в php-скрипте, но хранятся они в базе данных 
:(
    Опции темы
Delphist
  Дата 11.12.2010, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



Есть php-скрипт, который из базы делает выборку, а затем присваивает переменной:
Код

<?php
...
$html = $row["description"];
...
?>
description - поле в БД, типа varchar

Вопрос в том, что в поле description храниться не только текст, но и сами теги html, т.е. к примеру description может выглядеть так:
Для участие заполните <a href="order.php?order=$order">анкету</a>. 

Так вот ссылка отображается правильно, а вот переменной order присваивается не значение переменной $order действующего php-скрипта, а сам $order.
А нужно как если бы мы в самом скрипте написали так:
Код

$html = 'Для участие заполните &nbsp;<a href="order.php?order='.$order.'">Заказать</a>'.


Как в description нужно записать текст, чтобы бралось значение в $order 


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Muerto
Дата 11.12.2010, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



Первое что приходит в голову это eval

в эвал ты можешь хранить целиком к примеру 

Код

echo "whats up bro? " . $name;


И затем это хранит в базе как строку, и выводим через eval...


--------------------
user posted image
PM MAIL   Вверх
Delphist
Дата 11.12.2010, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: нет
Всего: 3



Цитата(Muerto @  11.12.2010,  16:46 Найти цитируемый пост)
eval

eval, на сколько я понимаю это ф-ция и как я понимаю это аналог echo, с возможностью правильно интерпретировать параметры строки.
а мне нужно как-то правильно присвоить переменой $html.

Это сообщение отредактировал(а) Delphist - 11.12.2010, 16:20


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Muerto
Дата 11.12.2010, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



Delphist, а что мешает взять и сохранить в базе и переменную к примеру ? =-) там можно хоть весь скрипт хранить и через eval воспроизводить...


--------------------
user posted image
PM MAIL   Вверх
bars80080
Дата 11.12.2010, 19:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Delphist @  11.12.2010,  15:20 Найти цитируемый пост)
eval, на сколько я понимаю это ф-ция и как я понимаю это аналог echo, с возможностью правильно интерпретировать параметры строки.

нет. http://www.php.ru/manual/function.eval.html
eval - это исполнение строки текста, словно это код

то есть в данном случае это работает так:

Код

$order = 5;
$html = eval($row["description"]);
echo $html;




п.с. использование eval крайне не рекомендуется, как собственно и хранить кодовое отображение переменных в тексте, вроде $order. гораздо лучше хранить заменяемый параметр, а текст представлять в виде шаблона:

Код


$html = 'Для участие заполните &nbsp;<a href="order.php?order={ORDER}">Заказать</a>';
$html = str_replace('{ORDER}', $order, $html);

PM MAIL WWW   Вверх
Shogun
Дата 16.12.2010, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сёгун-сан
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 8.6.2006
Где: Кишинёв

Репутация: 9
Всего: 11



Чтобы переменной order присваивалось значение переменной $order действующего php-скрипта нужно этот код через двойные кавычки выводить а не через одинарные, тогда остальные двойные кавычки из строки придется либо экранировать либо заменить на простые.

Как результат получится:
Код

$html = "Для участие заполните &nbsp;<a href='order.php?order=$order'>Заказать</a>";


но как bars написал, eval це зло, а самый лучший вариант в таком случае хранить заменяемый параметр.


--------------------
2b || !2b
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0464 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.