我有一个PHP View-Controller-Class模型的开放式问题。
说,我们必须在控制器中执行逻辑循环,以使用类中的方法从数据库中检索数据行。
但是,在任何时候,我都可以在视图中设置1个PHP变量来显示内容。我需要帮助来了解如何从控制器以精美的HTML格式显示数据。
我知道一种方法是使用Javascript
$(#div_id).html(variable_embedded_html_coding);
非常感谢所有建议。
答案 0 :(得分:1)
要看好桌子,你可以使用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;
答案 1 :(得分:0)
如果您知道变量的结构(可能是数组),则可以创建一个辅助函数,您可以从视图层调用该函数。该函数将获取原始变量并将其输出为HTML表。
e.g。类似的东西:
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); ?>
您甚至可以扩展帮助程序以传递其他属性,例如class,id等。