我有一个关于 PHP View-Controller-Class 模型的开放式问题。
比如说,我们必须在控制器中执行逻辑循环才能使用类中的方法从数据库中检索数据行。
但是,在任何时候,我都可以在视图中设置 1 个 PHP 变量来显示内容。我需要帮助来了解如何从控制器以精美的 HTML 格式显示数据。
我知道一种方法是使用 Javascript
$(#div_id).html(variable_embedded_html_coding);
所有建议将不胜感激。
我有一个关于 PHP View-Controller-Class 模型的开放式问题。
比如说,我们必须在控制器中执行逻辑循环才能使用类中的方法从数据库中检索数据行。
但是,在任何时候,我都可以在视图中设置 1 个 PHP 变量来显示内容。我需要帮助来了解如何从控制器以精美的 HTML 格式显示数据。
我知道一种方法是使用 Javascript
$(#div_id).html(variable_embedded_html_coding);
所有建议将不胜感激。
要获得漂亮的表格,您可以使用 phpgrid.com
将消息从 php 发送到具有多个变量的 js。您可以使用例如JSON或xml。要将 php 中的数组编码为 json 格式,请使用json_encode(); 在 Ajax 中,您应该将数据类型更改为JSON。
所以从JS方面你应该做这样的事情
var request = $.ajax({
url: "script.php",
type: "POST",
data: {id : menuId}, //it'll be in $_POST['id']
dataType: "json"
}).done(function(msg){
$("#your_div").html(msg.html);
//msg.othervariable is also possible here
});
来自 php(script.php)
$arr = array('html'=> "<p>asdasd</p>", othervariable=>"it works");
echo json_encode($arr);exit;
如果您知道变量的结构(可能是数组),您可以创建一个可以从视图层调用的辅助函数。该函数将获取您的原始变量并将其输出为 HTML 表格。
例如:
tabHelper.php
function print_tab($var)
{
$tab = '<table>'."\n";
foreach ($var as $row) {
$tab .= '<tr><td>'.$row.'</td></tr>'."\n";
}
$tab .= '</table>';
echo $tab;
}
然后在您看来,您会调用:
<?php include_once ('tabHelper.php'); ?>
...
<?php print_tab($my_variable); ?>
您甚至可以扩展帮助程序以传递其他属性,例如类、id 等。