上周我找到了非常好的php api,Grocery Crud,来自这里的示例http://www.grocerycrud.com/examples/the-simplest-example,我可以创建视图并且它工作正常,我的问题是编辑后有2个按钮更新更改< / strong>和更新返回列表,每当我点击这两个按钮时,我都有兴趣打印post数组,这样我就能看到内部数组是什么,而我的实际计划是每当我更新记录时(点击更新更改或更新并返回编辑中的列表),我需要更新约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个其他表中,其字段是日期和时间,此处序列号是唯一的
答案 0 :(得分:3)
首先,如果您使用的是PHP&gt; = 5.3,那么最好使用匿名函数,以确保它能够正常工作。例如,在您的代码中,您可以拥有:
$crud->callback_after_update(function () {
echo "<pre>";
print_r($post_array);
echo "</pre>";
die();
});
正如你所注意到的,我确实在那里增加了一条线。这是die();
。通过这种方式,您可以确保在萤火虫上看到预期的结果。
可能你没有任何印刷品,因为杂货店CRUD正在删除之前用一些魔术代码打印的任何东西。使用die();
,您只需确保永远不会达到此魔法代码。
答案 1 :(得分:1)
此问题已在Debugging in Grocery CRUD
处得到解答更具体地说:
仍然杂货CRUD不支持回调调试,所以我认为它现在是一个很好的解决方案。除此之外,在没有黑客攻击的情况下进行调试,您可以轻松拥有codeigniter的log_message功能。有关详情,请参阅http://ellislab.com/codeigniter/user-guide/general/errors.html