2013-06-28 4 views
0

У меня есть сайт с управляемой базой данных (динамические страницы), но содержимое хранится в статических файлах, которые включены в мои страницы. Я хочу отказаться от этих текстовых файлов и поместить содержимое в таблицу базы данных, но я не знаю, как обращаться с PHP-кодом в контенте.Вставить значение PHP-эха в таблицу базы данных MySQL

Для примера рассмотрим следующий текст:

<p>You can learn more at <a href="<?php echo $MySite1; ?>">this website</a>.</p> 

$MySite1 может повторить <a href="wwww.mysite1.com">, но если я положил его в таблицу базы данных, он просто показывает, как обычный текст.

Так кто-нибудь знает, как я могу изменить запрос, подобный приведенному ниже, чтобы PHP-код содержался в поле AI. Статья будет отображаться как PHP-код? Другими словами, я бы хотел, чтобы посетители увидели www.mysite1.com, а не <?php echo $MySite1; ?>.

Спасибо.

$Topics = mysql_fetch_assoc(mysql_query("SELECT ZT.N, ZT.URL, ZT.Title, ZT.Subtitle, ZT.Parent, ZT.Live, AI.URL, AI.Article 
    FROM gz_topics ZT 
    LEFT JOIN gz_articles_topics_intro AI ON AI.URL = ZT.URL 
    WHERE ZT.URL = '$MyURL' AND ZT.Live = 1")); 
+0

Только один комментарий: плохая практика. Я бы не поставил php-код в базу данных. Практически нет такой ситуации, когда это было бы полезно. Однако вы ** можете ** использовать 'eval()', но то, что вы собираетесь, это ** плохо **! – DaGardner

+0

Похоже, вы ищете систему управления контентом с возможностями шаблонов. Я предлагаю вам найти одно из них, а не это специальное решение. – Barmar

ответ

1

Вы можете использовать функцию eval() (http://nl.php.net/manual/en/function.eval.php). Очень опасно, как показано на этой связанной странице.

+0

Спасибо за советы. Есть еще один вариант, который я использовал, и это не слишком большая головная боль. Я могу просто заменить с $ EchoValue; затем используйте str_replace, чтобы заменить его значением ... str_replace ('www.mysite.com', '$ EchoValue;', $ Text); Основываясь на советах, которые я прочитал на этой странице, я должен придерживаться этого, вместо того, чтобы помещать PHP-код в базу данных. Благодарю. –

+0

Возможно, было бы неплохо поработать с небольшим весом и быстрым движком шаблонов ... Это может сделать вашу жизнь намного проще ... Отъезд «Haanga», например ... –

1

Если вы планируете использовать str_replace ... Более элегантное решение может быть только сохранение шаблона с% с, и используя Printf с аргументами, необходимыми ...

действительно зависит от использования ...

+0

Извините, m не знакомы с% s или printf. Я нашел некоторую информацию о функции printf @ http://www.w3schools.com/php/func_string_printf.asp, но она выглядит намного сложнее, чем мое решение. Однако я не понимаю, что означает «сохранение вашего шаблона с помощью% s», и это, вероятно, ключ к тому, что мне не хватает. Благодарю. –