jqgrid php:如何在对话框中报告错误

jqgrid php:如何在对话框中报告错误,jqgrid,jqgrid-php,Jqgrid,Jqgrid Php,我目前正在使用jqGrid php实现,并使用手动事务在网格中添加记录 例如: 到目前为止,这一切都很好 我现在遇到的问题是,如果在事务期间发生错误,我想通知用户:通常我想弹出一个错误对话框,显示$e->getMessage(),或者错误的原因 由于错误是在php级别检测到的,我如何调用javascript代码部分来实现这一点(我想是警报(…)还是$.jqgrid.info_对话框(…)呢) 谢谢,我不是PHP程序员,但我希望我能帮助你 在进行错误检测时,首先需要报告与PHP函数有关的错误。此外

我目前正在使用jqGrid php实现,并使用手动事务在网格中添加记录

例如:

到目前为止,这一切都很好

我现在遇到的问题是,如果在事务期间发生错误,我想通知用户:通常我想弹出一个错误对话框,显示$e->getMessage(),或者错误的原因

由于错误是在php级别检测到的,我如何调用javascript代码部分来实现这一点(我想是警报(…)还是$.jqgrid.info_对话框(…)呢)


谢谢,

我不是PHP程序员,但我希望我能帮助你

在进行错误检测时,首先需要报告与PHP函数有关的错误。此外,还可以将有关错误的信息(要显示的错误文本)放置在响应正文中。您可以选择响应的任何格式

在客户端,您可以使用事件句柄来解码和重新格式化服务器响应。您只需从错误对话框返回要在错误对话框中显示的文本或HTML fragmant

如果使用内联编辑,您应该在服务器响应中放置要在错误对话框中显示或使用的文本

$oper = jqGridUtils::GetParam('oper');
if ($oper == 'add') {

    $grid->trans = false;       // disable the transaction
    try {

        jqGridDB::beginTransaction($conn);

        $reference = jqGridUtils::GetParam('reference');
        $name = jqGridUtils::GetParam('name');
        $brand = jqGridUtils::GetParam('brand');
        $price = jqGridUtils::GetParam('price');
        $total_quantity_left = jqGridUtils::GetParam('total_quantity_left');
        $product = jqGridDB::prepare($conn,
                                     "INSERT INTO product (id, reference, name, brand, price,    total_quantity_left) VALUES (NULL,?,?,?,?,?)",
                                     array($reference,
                                           $name,
                                           $brand,
                                           $price,
                                           $total_quantity_left,
                                           )
                                 );
        $stock1 = jqGridDB::prepare($conn,
                                    "INSERT INTO stock (id, shop_id, product_id, quantity) SELECT NULL, 1, (SELECT MAX(id) FROM product), ?",
                                    array(jqGridUtils::GetParam('quantity_shop1'))
                                    );
        $stock2 = jqGridDB::prepare($conn,
                                    "INSERT INTO stock (id, shop_id, product_id, quantity) SELECT NULL, 2, (SELECT MAX(id) FROM product), ?",
                                    array(jqGridUtils::GetParam('quantity_shop2'))
                                    );

        jqGridDB::execute($product);
        jqGridDB::execute($stock1);
        jqGridDB::execute($stock2);
        jqGridDB::commit($conn);

    } catch(Exception $e) {
        jqGridDB::rollBack($conn);
        echo $e->getMessage();
    }
}