选择echo语句的位置

时间:2013-10-26 16:52:19

标签: php mysql forms

我正在将旧的丑陋代码重写为更实用的代码,因为我将添加相互链接的所有功能,因此现在必须使用干净的代码。

我在功能上做了所有事情,所以我在一个页面中有18个小表单,18个小函数在同一页面中回显。例如。

echo getstatement($username);
echo $getname($username);
echo $getemail($username);
echo $gethistory($user);

这些都是您在打开页面时看不到的形式,所以我会这样做

if (isset($_POST['username']) { $username = $_POST['username']; }

无论如何我通过简单地使用一个名为message的变量来改变代码以打印出我想要的地方,并在每个表单被提交时分配。

所以现在是

echo $ message;

很好,所有这些都很好,除了基于while循环的那些。 我使用while循环检查历史记录,然后使用$ row ['column']回显mysql行; ,好吧现在它在角落的页面顶部回声。

我可以简单地将while循环保存为变量,然后在完成后回显整个循环吗?

EG代码:

while ($row = $query-> fetch(PDO::FETCH_ASSOC)) {
                        echo "<tr><td>";
                        echo $row['name'];
                        echo "</td><td>";
                        echo $row['invoiceid'];
                        echo "</td><td>";
                        echo $row['description'];
                        echo "</td><td>";
                        echo $row['time'];
                        echo "</td></tr>";

                    }

这曾经很好用,当它是一个功能但现在它不是那么好。那么我该如何将它保存在一个变量中,我可以回复我想要的地方。

1 个答案:

答案 0 :(得分:0)

你可以把循环放在一个函数中,然后在你希望它出现在你的html中的任何地方调用函数 - (记得把所有必要的块放在函数中)

   function whileLoop(){
   while ($row = $query-> fetch(PDO::FETCH_ASSOC)) {
                    echo "<tr><td>";
                    echo $row['name'];
                    echo "</td><td>";
                    echo $row['invoiceid'];
                    echo "</td><td>";
                    echo $row['description'];
                    echo "</td><td>";
                    echo $row['time'];
                    echo "</td></tr>";

                }
   }

然后在html中

 <?php whileLoop() ?>