我发现非常好的php api上周,杂货杂货Crud,从这里提供的例子http://www.grocerycrud.com/examples/the-simplest-example,我可以创建视图和它的工作很好,我的问题是有2个按钮一旦你编辑更新更改和更新回到列表,我有兴趣打印后数组每当我点击这两个按钮,这样我就可以看到数组里面是什么,我的实际计划是每当我更新记录时(点击更新更改或更新并返回编辑列表),我需要更新大约7个表
这是我到目前为止所尝试的,这里的函数测试没有打印任何
function test($post_array)
{
echo "<pre>";
print_r($post_array);
echo "</pre>";
}
function myapp(){
$this->db = $this->load->database('Groupdb',true);
$crud = new grocery_CRUD();
$crud->set_table('main_table');
$crud->columns(
"Serial",
"Date",
"Time"
);
$crud->fields(
"Serial",
"Date",
"Time"
);
$crud->callback_after_update(array($this, 'test'));
$crud->set_subject('Update Mains');
$output = $crud->render();
$this->_example_output($output);
}
从我的代码中,我认为你们可以想象表名是main_table,每当我更新main_table的序列号,日期和时间时,它必须反映在其他7个表上,其字段是日期和时间,这里序列号是唯一的
首先,如果您正在使用PHP>= 5.3,那么最好使用匿名函数,只是为了更确定它将工作。例如,在你的代码中你可以输入:
$crud->callback_after_update(function () {
echo "<pre>";
print_r($post_array);
echo "</pre>";
die();
});
正如你所注意到的,我在那里又加了一行。这是die();
。通过这种方式,您可以确保在firebug上看到预期的结果。
可能您没有任何打印,因为杂货CRUD正在删除之前用一些神奇代码打印的任何内容。有了die();
,你只是确保这个神奇的代码永远不会达到。
这个问题已经在:Debugging in Grocery CRUD
更具体地说:
杂货CRUD仍然不支持调试回调,所以我认为这是一个很好的解决方案。除此之外,您还可以轻松地使用codeigniter的log_message函数进行调试。更多信息请访问http://ellislab.com/codeigniter/user-guide/general/errors.html