如何在没有刷新页面的情况下更新记录,我有一个系统,我想要记录日期,在0和1之间更改其状态,打开或关闭功能。这是打开或关闭它的表格:
<table class="tablesorter" cellspacing="0">
<thead>
<tr>
<th></th>
<th>nane</th>
<th>time</th>
<th>out</th>
<th>enter</th>
<th>
<div align="center">admin</div>
</th>
<th></th>
</tr>
</thead>
<tbody>
<?php $qu_req=mysql_query( "select * from `exit_request` where `date`='$date_now' order by id desc "); while($row_req=mysql_fetch_row($qu_req)){ ?>
<tr>
<td>
<input type="checkbox">
</td>
<td><a href="show_exit_req.php?id=<?php print($row_req[0]); ?>" class="style9" onclick="NewWindow(this.href,'name','400','300','yes');return false"><?php print($row_req[1]); ?></a>
</td>
<td>
<?php print($row_req[2]); ?>
</td>
<td>
<?php print($row_req[6]); ?>
</td>
<td>
<?php print($row_req[7]); ?>
</td>
<td>
<div align="center">
<input name="<?php print(" chk_exit ".$row_req[0]); ?>" type="radio" value="0" <?php if($row_req[3]==0){print( 'checked');} ?>/>
<label>accept</label>
<input name="<?php print(" chk_exit ".$row_req[0]); ?>" type="radio" value="1" <?php if($row_req[3]==1){print( 'checked');} ?>/>
<label>not acept</label>
</div>
</td>
<td>
<input class="alt_btn" name="send" type="submit" value="رد الادارة" />
</td>
</tr>
<? } ?>
</tbody>
</table>
更新代码
if(isset($_POST['send'])){
$qu=mysql_query("select * from `exit_request` ");
while($row=mysql_fetch_row($qu)){
$id=$row[0];
$chk_str="chk_exit".$id;
$chk_str=$$chk_str;
//if($chk_str==1)
mysql_query("update `exit_request` set `accept`='$chk_str' where id=$id");
print('<meta http-equiv="refresh" content="0;URL=index.php" />');
}
}
答案 0 :(得分:0)
您可以使用AJAX请求发布您的表单序列化内容,如许多关于Web中的AJAX的教程中所见,如果您需要在请求发送到PHP后更新表单的内容尝试将JSON数据发送回表单并解析/更新表单,这样可以在不更改页面的情况下更新数据。
这个程序取决于你如何编写表单处理 您可以jQuery获取AJAX请求,请参阅文档以获取示例, 还可以看到json_encode用于表单处理的php端,jQuery UI来制作Dialogs。
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以找到示例here或see this 网上有很多例子。 在stackoverflow How do i update mysql database with ajax and php in innerhtml
中提及此问题答案 3 :(得分:0)
这是我为小型聊天室编写的一些代码,以便提交新的聊天帖子:
$("#shout").keypress(function(e) {
if(e.keyCode == 13) {
$.ajax({
url: "http://example.com/api.php",
contentType: "text/html; charset=ISO-8859-1",
data: {
action: "shout",
message: $("#shout").val()
},
success: function() {
$("#shout").val("");
}
})
}
});
只要在带有id shout的输入字段上按Enter,就会从输入字段中获取值,将其放入AJAX请求中,然后发送它。此外,在成功发送后,它将清除输入字段。
行动&amp; data指定URL调用的GET参数(即http://example.com/api.php?action=shout&message=valueFromInputFieldGoeshere)。但您也可以使用帖子,只需查看.ajax()的选项。希望这能让您了解如何将数据发送到服务器。
这是相应的代码,用于检查是否对聊天框发了新帖子,如果是,请加载它们。
$(document).ready(function() {
var lastShout;
// This one gets the timestamp of the last chat entry
$.ajax({
url: "http://example.com/api.php",
contentType: "text/html; charset=ISO-8859-1",
async: false,
data: {
action: "lastshout"
},
success: function(data) {
lastShout = data + 0
}
})
// This one loads the content of the chatbox containing the posts
$.ajax({
url: "http://example.com/api.php",
contentType: "text/html; charset=ISO-8859-1",
data: {
action: "getshouts"
},
success: function(data) {
$("#shouts").html(data);
}
})
// This will be executed every 5 seconds. It takes the timestamp from the beginning, asks the server again for the latest timestamp
// and then checks if the response timestamp is higher than the timestamp from the beginning.
// If so, he'll pull the chatbox content and put it into the specified div
setInterval(function() {
$.ajax({
url: "http://example.com/api.php",
contentType: "text/html; charset=ISO-8859-1",
async: false,
data: {
action: "lastshout"
},
success: function(data) {
data = data + 0
if(data > lastShout) {
lastShout = data;
$.ajax({
url: "http://example.com/api.php",
data: {
action: "getshouts",
init: 1
},
success: function(data) {
if(data != "") {
$("#shouts").html(data);
}
}
})
}
}
})
}, 5000)
})