PHP视图 - 控制器 - 类模型

时间:2013-05-09 11:54:32

标签: php javascript

我有一个PHP View-Controller-Class模型的开放式问题。

说,我们必须在控制器中执行逻辑循环,以使用类中的方法从数据库中检索数据行。

但是,在任何时候,我都可以在视图中设置1个PHP变量来显示内容。我需要帮助来了解如何从控制器以精美的HTML格式显示数据。

我知道一种方法是使用Javascript

$(#div_id).html(variable_embedded_html_coding);

非常感谢所有建议。

2 个答案:

答案 0 :(得分:1)

要看好桌子,你可以使用phpgrid.com

Php grid

将消息从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等。