我正在将数据库加载到表中,我的想法是动态启用动态编辑,就像在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
传递变量,因为每个表的列数不同,因此我需要传递给scripts/insert.php
的变量数量也会变化。或者也许有办法?
答案 0 :(得分: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