我认为这可能非常简单,但我一定忽略了一些东西。
基本上,我有 If/Else php 语句,用于检查条件是否为真。在每个 if 语句中,都有一个 WHILE 循环,它回显数据库中所有相应的行。
while 循环需要打印一些表格单元格和行中的字段。目前,每个 WHILE 循环都有手动输入的代码,这意味着如果我想更改布局或其他内容,我需要在每个 while 循环中更改它。
我想要做的是定义一个可以回显的变量,这样我只需要在一处更改代码即可影响所有 WHILE 循环。然而,WHILE 循环中内容的性质意味着这不起作用,原因如下:
//If the date is a monday
if($daycheck == "Monday") {
//Start a row and create cell with date in
echo "<tr><td height='100px' valign='top'>".$datedisplay."<br />";
//For each event found for this day
while($dayrow = mysql_fetch_assoc($dayresult)) {
//Show the event info
echo $dayrow['Event Time']."<br />".$dayrow['Event Name']."<br />";
}
//End the cell for the day
echo "</td>";
}
这是一个 IF 语句,但想象一下下面还有多个 IF 语句。您可以在中间看到我的 WHILE 循环,显示数据库中每一行的字段。
问题是,如果我坚持:
$dayrow['Event Time']."<br />".$dayrow['Event Name']."<br />";
在 while 循环之前将其放入变量中,当我回显它时,每次都会相同,因为 $dayrow 部分不会更新。
有什么方法可以将上述内容放入变量中,以便每次 WHILE 循环运行时它都会更新?
也许 $dayrow[''] 部分以某种方式存储为文本而不是变量?
感谢您提供的任何帮助。
编者
最佳答案
正如 DaveRandom 建议的那样,您可以使用 sprintf()
或(更奇特和更多可能性)使用 eval()
的模板系统。
关于php - 更新已设置的 php 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12261546/