杂货杂货-在表单提交上打印post_array


Grocery Crud - print post_array on form submit

我发现非常好的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