0

我正在将我的数据库加载到表中,我的想法是启用动态编辑,就像在 phpMyAdmin 中一样。这并不难。至少从前端来看。为记录创建删除功能也很容易,但我不知道如何进行动态插入。特别是,如何表达一个查询,该查询将访问新编辑的表行中的值,这意味着是一条新记录。

至于删除我使用的记录:

var xhr;
xhr=new XMLHttpRequest();

xhr.onreadystatechange=function()
{
  if (xhr.readyState==4 && xhr.status==200)
  {
    document.getElementById("output").innerHTML=xhr.responseText;
  }
}

$.fn.delClick = function() {

  var table = $(this).parent().parent().parent();
  var row = $(this).parent()

  if(confirm("Are you sure?"))
  {

    var tableName = table.find('.add').data('tablename');
    var idName = table.find('.add').data('idname');
    var rowId = row.children('td.id').html();

    xhr.open("POST","scripts/delete?tableName="+tableName+"&idName="+idName+"&rowId="+rowId,true);
    xhr.send(); 

    row.remove();


  }
}

并在scripts/delete.php

$this->ci =& get_instance(); 

$remove = $this->ci->db->query("DELETE FROM ".$_GET['tableName']." WHERE ".$_GET['idName']." = '".$_GET['rowId']."'");

我希望对插入记录做出类似的事情,但我被卡住了。
插入记录的主要问题是我无法通过 传递变量POST,因为每个表的列数不同,因此我需要传递给 my 的变量数量scripts/insert.php也会有所不同。或者也许有办法?

4

1 回答 1

1

使用对象

var inputs = {};
$('.formInput').each(function(){

    var id = $(this).attr('id');
    var val = $(this).val();
    inputs[id] = val ;
});

$.post( insert_url , {inputs:inputs});

你也可以分析一些更简单的crud系统,比如

https://github.com/maxxxir/mz-codeigniter-crud
于 2013-10-20T05:04:08.000 回答