我想使用php和ajax将信息提交到mySql数据库.
从(form.php)发送信息的页面具有从"while()"循环生成的多个表单.
成功之后,我会回复更新提交数据的特定表单上方的div.
我目前正在使用jQuery和jquery表单插件.
我已经成功地将数据传输到数据库,但是我遇到了将响应发送回正确的div的问题.我已经成功地将响应返回到while()循环之外的div.但是,我没有成功地在循环中获得回复div.我在下面的代码中放了一个div:">我希望放置这个音符.
我知道这与我的javascript函数有关:
#noteReturn函数没有指定应该放置哪个div.
我希望这是有道理的.
谢谢您的帮助.
代码如下:
$messageDate
"; } // end while$notesQuery ?>
Paolo Bergan.. 10
更改此代码:
jQuery('form').ajaxForm({ target: '#noteReturn', success: function() { $('#noteReturn').fadeIn('slow'); } });
对此:
jQuery('form').ajaxForm({ target: '#noteReturn', dataType: 'json', success: function(data) { $('#noteReturn' + data.id).html(data.note).fadeIn('slow'); } });
这段代码:
对此:
$id, "note" => $note)); } ?>
对PHP代码的更改是利用PHP的json_encode
函数打印出添加了注释的业务的id以及实际的注释文本.在javascript代码中,我添加了dataType
'json'来告诉脚本期望的响应格式.一旦在success
回调中收到请求,该data
变量就是一个具有我们传递的值的对象json_encode
.因此,data.id
有企业标识和data.note
具有新的注释.使用jQuery的html()
操作函数,div的内部html更新为最新的音符.div选择器使用我们传递的id,因此我们可以更新相应的div.
此外,这稍微偏离主题,但请确保mysql_real_escape_string
在将值放入查询时始终使用.如果你不使用它,你的查询将是易受攻击的,容易受到注入攻击,并且它们并不漂亮.如果客户决定输入您的笔记值,');DROP TABLE businesses;
您真的会感到痛苦.优选地,切换到PDO
或MySQLi
使用prepared statements
,因为它们是当今进行查询的"正确"方式.
更改此代码:
jQuery('form').ajaxForm({ target: '#noteReturn', success: function() { $('#noteReturn').fadeIn('slow'); } });
对此:
jQuery('form').ajaxForm({ target: '#noteReturn', dataType: 'json', success: function(data) { $('#noteReturn' + data.id).html(data.note).fadeIn('slow'); } });
这段代码:
对此:
$id, "note" => $note)); } ?>
对PHP代码的更改是利用PHP的json_encode
函数打印出添加了注释的业务的id以及实际的注释文本.在javascript代码中,我添加了dataType
'json'来告诉脚本期望的响应格式.一旦在success
回调中收到请求,该data
变量就是一个具有我们传递的值的对象json_encode
.因此,data.id
有企业标识和data.note
具有新的注释.使用jQuery的html()
操作函数,div的内部html更新为最新的音符.div选择器使用我们传递的id,因此我们可以更新相应的div.
此外,这稍微偏离主题,但请确保mysql_real_escape_string
在将值放入查询时始终使用.如果你不使用它,你的查询将是易受攻击的,容易受到注入攻击,并且它们并不漂亮.如果客户决定输入您的笔记值,');DROP TABLE businesses;
您真的会感到痛苦.优选地,切换到PDO
或MySQLi
使用prepared statements
,因为它们是当今进行查询的"正确"方式.