我正在做一个基本的网站,我在视图中从控制器访问数组时遇到了问题。我希望能够访问$TPL ["results"]数组。目前,当我加载控制器(主页)时,它显示"foreach循环的参数无效。当我从视图中var_dump数组时,它是空的,但如果我从控制器中执行此操作,它将显示内容。
控制器:
<?php
include "app.config.php";
include "app.model.php";
include "app.view.php";
$TPL["results"] = readAllEntries($conn);
?>
查看:
<?php
$encoded = addslashes(json_encode($TPL["results"]));
?>
<table>
<tr>
<th></th>
<th>ID <a onclick='sorted("ascending", "<?php echo $encoded; ?>", 0);'><img src="images/uparrow.png"/></a> <a onclick='sorted("descending", "<?php echo $encoded; ?>", 0);'><img src="images/downarrow.png"/></a></th>
<th>Last Name <a onclick='sorted("ascending", "<?php echo $encoded; ?>", 2);'><img src="images/uparrow.png"/></a> <a onclick='sorted("descending", "<?php echo $encoded; ?>", 2);'><img src="images/downarrow.png"/></a></th>
<th>First Name <a onclick='sorted("ascending", "<?php echo $encoded; ?>", 1);'><img src="images/uparrow.png"/></a> <a onclick='sorted("descending", "<?php echo $encoded; ?>", 1);'><img src="images/downarrow.png"/></a></th>
<th>Email <a onclick='sorted("ascending", "<?php echo $encoded; ?>", 4);'><img src="images/uparrow.png"/></a> <a onclick='sorted("descending", "<?php echo $encoded; ?>", 4);'><img src="images/downarrow.png"/></a></th>
<th>Phone <a onclick='sorted("ascending", "<?php echo $encoded; ?>", 3);'><img src="images/uparrow.png"/></a> <a onclick='sorted("descending", "<?php echo $encoded; ?>", 3);'><img src="images/downarrow.png"/></a></th>
</tr>
<?php
$rowNum = 0;
foreach($TPL["results"] as $entry)
{
?>
<tr id="Row_<?php echo $rowNum;?>">
<td>DE</td>
<td><?php echo $entry['id']?></td>
<td><?php echo $entry['lname']?></td>
<td><?php echo $entry['fname']?></td>
<td><?php echo $entry['email']?></td>
<td><?php echo $entry['phone']?></td>
<?php $rowNum++; ?>
</tr>
<?php
}
?>
如果我从控制器中删除"include app.view.php"并将"include app.ctrl.php"添加到视图中,数据会加载,但之后我无法通过控制器访问添加到数据库等操作。我尝试使用$_ session,但它也给出了一个空数组。
1条答案
按热度按时间ax6ht2ek1#
https://www.php.net/manual/en/function.include.php
包含文件时,它所包含的代码将继承发生包含的行的变量作用域。从该点开始,调用文件中该行可用的任何变量都将在被调用文件中可用。但是,被包含文件中定义的所有函数和类都具有全局作用域。
所以我可以尝试在获取条目后放置视图吗?我还可以添加空合并操作符