繁体   English   中英

如何在mySQL中调用PHP变量?

[英]How do I call PHP variables in mySQL?

我的网站有很多页面。 所有这些页面的顶部都有相同的标题,显示登录用户的选项以及网站不同部分的链接。

我意识到,如果我想更改此标题的外观,则需要遍历并将更改应用于每个页面。 这似乎是我可以避免的问题,因此我决定将代码存储在mySQL数据点中,并在每个页面上简单地将其回显。

到目前为止,它的工作效果令人印象深刻,但是其中包含的任何PHP代码(例如显示用户名)仅返回物理代码本身,而不返回结果。

调用代码可以很好地工作,因此这里是实际的mySQL条目:

<table width="1332" border="0" cellspacing="0"><tr>
<td width="1002" style="background-color:#4DDB4D;">
<a href="http://www.AGLgaming.com/login/home"><img src="http://i378.photobucket.com/albums/oo223/Abyssion180/AGLLogoAlternate.png" alt="AGL Logo" width=170 height=90 align="left" /></a>
<img src="http://i378.photobucket.com/albums/oo223/Abyssion180/AGLBanner.png" width=825 height=90 />
</td>
<td width="330" style="background-color:#4DDB4D" align="right">
<div class="ex1">
<a href="http://www.AGLgaming.com/login/home/profile"><font color="blue" size="5">' . $user[0][0] . '</font></a>,<br>
<font size="1">Logged in: </font><a href="http://www.AGLgaming.com/login/home/logout"><font size="2" color="blue">Logout</font></a>
</div></td></tr>
<tr><td valign="center" style="background-color:#6EFF6E;height:31px;">
<div align="left"> ||
<a href="http://www.AGLgaming.com/login/home/forums"><font color="blue" size="5">Forums</font></a> |||
<a href="http://www.AGLgaming.com/login/home/guides"><font color="blue" size="5">Guides</font></a> |||
<a href="http://www.AGLgaming.com/login/home/external"><font color="blue" size="5">External</font></a> |||
<a href="http://www.AGLgaming.com/login/home/members"><font color="blue" size="5">Members</font></a> |||
<a href="http://www.AGLgaming.com/login/home/tournament"><font color="blue" size="5">Tournament</font></a> |||
<a href="http://www.AGLgaming.com/login/home/constitution_of_the_AGL"><font color="blue" size="5">Constitution of the AGL</font></a></div>
</td>
<td valign="center" style="background-color:#6EFF6E;height:31px;">
<div class="ex1" align="right">
<a href="http://www.AGLgaming.com/login/home/profile"><font color="blue" size="3">Profile</font></a> |
<a href="http://www.AGLgaming.com/login/home/denarii"><font color="blue" size="3">Denarii</font></a>: ' . $user[0][7] . ' |
<a href="http://www.AGLgaming.com/login/home/messages"><font color="blue" size="3">Messages</font></a>: ' . $user[0][9]; if($user[0][10]>0)  echo '<font size="2"><b>(' . $user[0][10] . ' New!)</b></font>'; . ' |
<a href="http://www.AGLgaming.com/login/home/settings"><font color="blue" size="3">Settings</font></a>
</div>
</td></tr></table>

如果我做对了,我会(不想说)真正建议您重新考虑您的代码。 您是否真的从MySQL数据库查询HTML / PHP代码? 如果是这样,让我为您推荐另一种方法,以获取除onne网站以外的更多代码:只需将代码放入一个额外的php文件中,例如header.php并使用

<?php require_once('header.php');?>

好吧,在我看来,您正在寻找的是一种模板系统。 实现此目的的最简单方法是在HTML中使用特定的关键字,然后您的PHP可以提取并替换这些关键字。

例如,您可以使用str_replace()函数。

$processedHtml = str_replace('{__USERNAME__}',$userName,$htmlFromDB);

在此示例中,您将在希望$userName变量出现的所有位置插入字符串{__USERNAME__}


话虽这么说,我认为您正面临一个非常特殊的情况,并且将HTML存储在数据库中可能不是最佳选择。 您可能要考虑使用PHP的include()函数。 这将允许您在当前脚本中插入其他文件。 它会(正如名称所描述的那样)仅在您将include语句放在确切位置的位置就包含该代码。 这将使您可以将共享头代码集中在一个文件中,并且只需在需要的任何地方“包括”它,而您只需要对一个文件进行编辑即可。

您应该做什么而不是使用数据库来做什么,所以这将是php的include函数。 假设您在名为header.php的文件中包含以下代码

Awesome header
<?php 
    echo "working code";
?>

您可以在其他每个文件中

<?php
    include "header.php";
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM