我是编程新手。我创建了一个带下拉菜单的页面,并选择了我希望更新MySQL数据库中的字段(得分)以及同一页面的div中的选项而不实际重新加载整个页面。有人可以告诉我一个如何用Ajax做到这一点的例子吗? -Thanks
while($row=mysql_fetch_assoc($result_arrays)){
$userid=$row['userid'];
$score=$row['score'];
echo "
<p><div class='user'><a href='#'><b>$userid</b></a></div>
<p><div class='score'>Score: $score</div>
<form action ='' method = 'POST'>
<select name='userscore' id='user_scores'>
<option>1</option><option>2</option><option>3</option><option>4</option>
</select>
<input type='submit' value = 'Update Score' id= 'submit-score'/>
</form>
<br />
";
}
答案 0 :(得分:1)
如果您愿意使用jQuery,可以阅读有关ajax HERE的文档,这是一个很好的起点。
一旦掌握了ajax概念,就必须定义由ajax函数调用的php脚本。你必须传递你想要存储的参数并让php脚本处理保存。如果你想要你可以回显一些结果,如果你通过本地PHP函数json_encode
对它们进行编码会更好。
要处理结果,您将定义一个javascript函数,该函数将在ajax调用成功时调用,该调用将根据收到的结果执行div上所需的更新。
很抱歉,我不认为你会从实际代码中受益,也因为互联网上充满了我建议你的每一步的例子。
答案 1 :(得分:0)
使用JQuery
<script>
$("#user_scores").change(function () {
var str = "";
$("#user_scores option:selected").each(function () {
str += $(this).text() + ",";
});
$.ajax({
type: "POST",
url: "some.php",
data: { values: str }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
})
.trigger('change');
</script>
更多关于http://api.jquery.com/jQuery.ajax/
some.php是带脚本的php文件。
请记住在文档准备好或加载选择代码后绑定“更改”事件。
在some.php中你应该以这种方式得到这些值
$values = explode(",",$_POST['values']);
答案 2 :(得分:0)
$.ajax({
type: "POST",
url: "some.php", // target url which is triggered upon ajax call
data: { name: "John", location: "Boston" } ,// The drop down selected val
success:function(response){
$('target_div').text(response); //updating the div content on successful ajax call
//update database also.
}
});
快乐编码:)
答案 3 :(得分:0)
您可以简单地进行AJAX调用来更新数据(使用PHP)并使用JQuery .load()函数来更新
更多关于http://www.a100websolutions.in/ajax-php-database-update/
您可以在此处获得详细的教程