我的jqgrid加载了完美的数据,但是当我想对其进行更改时,我的数据库上没有任何反应。 我不知道究竟什么时候发生“输入密钥”事件来保存行,所以我不知道在哪里放这个代码:
jQuery("#lista").saveRow(id, function(){alert("changes saved")}, 'guardar_lista.php');
我已经看到了这个例子:JQgrid checkbox onclick update database 但是我很想知道如何使用ajax发送信息(抱歉,我是新手)。
你能给我一个如何用ajax发送信息的代码示例吗? 这是我的Editurl代码:
<?
$dbhost="localhost";
$dbuser="root";
$dbpassword="";
$database="db_proyecto";
$db = mysql_connect($dbhost, $dbuser, $dbpassword) or die("Connection Error: " . mysql_error());
mysql_select_db($database, $db);
if($_POST['oper']=='edit'){
$invid=$_POST['id'];
$tax=$_POST['tax'];
$note=$_POST['note'];
$total=$_POST['total'];
$SQL="update invheader set note='"+$note+"' where invid="+$invid;
mysql_query($SQL,$db);
}
提前谢谢@ruffin! (抱歉延误,我很忙)
答案 0 :(得分:0)
好吧,你将不得不发布更多代码供我们确认。您的网格应该具有editurl的值,该页面将处理您更新的数据(iirc)。为了清楚起见,那个url 是你插入mysql_query jive的地方。
请注意,您要么使用网格中的新值来使用$ _GET或$ _POST集合中的jive,如果它是一个新行,则为id列的“_empty”(因为它没有填充;这个是一个新的一行)。 (是的,我意识到你正在更新,但万一你加入的时间很快。)
例如......(“FORM”每次表示它来自$ _POST数组)
FORM: PREFIX :: REV
FORM: FNAME :: Joe
FORM: MNAME :: Frazier
FORM: LNAME :: Test
FORM: SUFFIX :: suffix
FORM: oper :: add
FORM: id :: _empty
要在此处查看的体面代码: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing
更多关于_empty和表单编辑的信息: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:form_editing
所以我们需要你的editurl,我们需要知道“更新数据的PHP代码”是在那个页面中,我们可能应该看到你在页面上已经有了完整的网格,给了一个超级精彩回答。 ; ^)
您可能还应该在editurl上编写一个虚拟页面,它遍历$ _GET和$ _POST集合中的所有值,并将它们写入文件,以便您可以检查网格发送给您的内容 - 以及你得到任何东西。另外,请请PUH-lease使用mysql_real_escape_string()周围的$ name和至少一个int check for $ id!