选择回显语句的位置


Choosing where to echo statement

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

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

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

这些都是你打开页面时看不到的表格,所以我会这样做

if (isset($_POST['username']) { $username = $_POST['username']; }
无论如何,我

更改了代码以像以前一样打印出我想要的地方,只需使用我在提交每个表单时分配的一个名为 message 的变量。

所以现在它是

回声$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>";
                    }

这曾经是一个功能时工作得很好,但现在它就不那么好了。那么我应该如何将其保存在一个变量中,我可以在我想要的地方回显。

你可以把循环放在一个函数中,然后在你想要它出现在你的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() ?>