【发布时间】:2013-10-27 14:58:43
【问题描述】:
我正在将我的数据库加载到表中,我的想法是启用动态编辑,就像在 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 的变量数量也会有所不同。或者有什么办法?
【问题讨论】:
-
您应该进行安全检查,当前形式的脚本是一场灾难。无论如何,对于动态字段,您可以在 javascript 中使用 .serialize() 来获取字段并准备通过 ajax 请求发送它们。
标签: php jquery codeigniter postgresql xmlhttprequest