我认为这可能真的很简单,但是我必须忽略一些事情。

基本上,我有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语句,但是想象下面还有其他几个语句。您可以在中间看到我的WHILE循环,其中显示了数据库中每一行的字段。

问题是,如果我坚持:

$dayrow['Event Time']."<br />".$dayrow['Event Name']."<br />";


在while循环之前放入变量中,当我将其回显时,每次$ dayrow部分都不会更新时,它将是相同的。

有什么方法可以将上面的内容放入变量,以便每次运行WHILE循环时都可以对其进行更新?

也许如果$ dayrow ['']部分以某种形式而不是变量形式存储为文本?

感谢您提供的任何帮助。

埃兹

最佳答案

正如DaveRandom所建议的那样,您可以使用sprintf()或(更花哨的方式和更多的可能性)使用eval()模板系统。

09-05 03:06
查看更多