【问题标题】:I need to pass a php variable to DataTables.Editable sUpdateURL我需要将一个 php 变量传递给 DataTables.Editable sUpdateURL
【发布时间】:2012-08-16 14:35:23
【问题描述】:

您好,我需要将一个名为 $process_id 的变量传递给文件 "config/update.php",该文件是负责使用 DataTables.Editable 更新实时表的文件。

这个变量是一个整数,用于创建一个表(例如 table1),所以要更新特定的表,我需要 UPDATE table$process_id SET... 并且能够做到这一点,我需要将该变量传递给更新表的脚本.

这是我在对Datatables.Editable Wiki 进行一些研究后得出的结论:

DataTables初始化和makeEditable函数的添加:

$('#example').dataTable().makeEditable({
    sUpdateURL: "config/update.php",
    oUpdateParameters: { 
        "process_id": "<?php echo $process_id; ?>"
    }
});

还有update.php 文件

<?php
$id = $_REQUEST['id'] ;
$value = $_REQUEST['value'] ;
$column = $_REQUEST['columnName'] ;
$columnPosition = $_REQUEST['columnPosition'] ;
$columnId = $_REQUEST['columnId'] ;
$rowId = $_REQUEST['rowId'] ;
$column_name = trim($column);

$process_id = $_REQUEST['process_id'];

include("config.php");

// mysql_query(" UPDATE $sTable SET $column = $value WHERE trl_id = $id ");
mysql_query("UPDATE tw_tg_sim_lines$process_id SET $column_name = '$value' WHERE trl_id = '$id'");

echo $id;

?>

我已经尝试过不同的方法,例如 $_POST、$_GET 和 $_REQUEST。似乎没有任何效果,所以问题出在oUpdateParameters

任何帮助将不胜感激,谢谢。

【问题讨论】:

  • 对不起,我是新来的。没想到影响这么大。现在整理好了。谢谢。

标签: php javascript jquery mysql datatables


【解决方案1】:

我完全是在思考这个问题,对此我深表歉意。但是,如果你和我在同一条船上,看不清楚这个……

这是我为解决这个问题所做的:

$('#table').dataTables().makeEditable({
    sUpdateURL: "config/update.php?process_id=<?php echo $process_id; ?>"
});

这使我能够在 update.php 上执行以下操作:

$id = $_REQUEST['id'] ;
$value = $_REQUEST['value'] ;
$column = $_REQUEST['columnName'] ;
$columnPosition = $_REQUEST['columnPosition'] ;
$columnId = $_REQUEST['columnId'] ;
$rowId = $_REQUEST['rowId'] ;
$column_name = trim($column);
$process_id = $_GET['process_id'];


mysql_query("UPDATE tw_tg_sim_lines$process_id SET $column_name = '$value' WHERE trl_id = '$id'");

这个超级简单,我确实有点不好意思。但它就在这里。

有时简单却很难看。

谢谢。

【讨论】:

    【解决方案2】:

    我猜你需要对 php 脚本进行 ajax 调用

    这在过去使用 jquery 对我有用

    var dataString = ('process_id='+ <?php echo $process_id; ?>);
    
       $.ajax({
          type: "GET",
          url: "config/update.php",
          data: dataString,
          success: function(data) {
            $('.result').html(data);
            alert('Load was performed.');
          }
        });
    

    在此引用http://api.jquery.com/jQuery.ajax/

    【讨论】:

    • 到目前为止还没有成功,这是我正在尝试的方式:().makeEditable({ sUpdateURL: "config/update.php", oUpdateParameters: {}, ajaxoptions:{ type: 'GET', url: "config/update.php", data: "process_id=&lt;?php echo $process_id; ?&gt;" } });
    • 我不确定 .makeeditable 是什么 - 但 jQuery.ajax() 是一种行之有效的向另一个 URL 发出异步请求的方法
    • .makeEditable() 只是一个使我的 DataTable 可编辑的函数,它是 DataTables 插件的一部分。我假设我需要在 makeEditable 函数中传递这个参数。
    • 好的,我在这里查看了 makeEditable 文档 - code.google.com/p/jquery-datatables-editable/wiki/EditCell - 我认为您需要在这里进行一些常规调试 - 例如回显一些数据以确保程序的不同部分正常工作 - 例如编写一个 php呼应您的每个变量的页面 - 然后构建一个查询您需要隔离问题!
    • 我确定其他一切正常,只是传递这个变量的问题。如果我给出一个固定的表名,我的 UPDATE 就可以正常工作。非常令人沮丧。
    猜你喜欢
    • 1970-01-01
    • 2012-11-17
    • 2019-11-08
    • 1970-01-01
    • 2012-07-24
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多