基本上,我有一个数据列表,它通过数据库中表的 foreach 语句显示。我想要一个下拉列表旁边的每个下拉列表,其中包含一些需要保存到表中的字段的值,但是我想在下拉列表中的值更改后立即将值自动保存到字段中。谁能指点我一个教程或可能有帮助的东西?
我正在使用 php 和 mysql 来创建系统,但如果需要,我会很乐意使用 JavaScript
我看过这个:动态驱动器自动保存http://www.dynamicdrive.com/dynamicindex16/autosaveform.htm这与我想要的类似,但是我需要它将数据实际存储在我的数据库中,而不是临时存储。
任何指导表示赞赏,
伊恩
大编辑
所以,谢谢你的回复,但我对ajax调用一无所知......我发现了这个:如何在没有提交按钮的情况下将ComboBox中的选择自动保存到PHP中的MYSQL中?.
我可以让它工作吗?
<script>
$(document).ready(function(){
$('select').live('change',function () {
var statusVal = $(this).val();
alert(statusVal);
$.ajax({
type: "POST",
url: "saveStatus.php",
data: {statusType : statusVal },
success: function(msg) {
$('#autosavenotify').text(msg);
}
})
});
});
</script>
<?php foreach ( $results['jobs'] as $job ) { ?>
<td width="25%"><?php echo $job->job_id</td>
<td>
<select name="status" id="status">
<option value=''>--Select--</option>
<option value='0'>Approve</option>
<option value='1'>Reject</option>
<option value='2'>Pending</option>
</select>
<div id="autosavenotify"></div>
</td>
</tr>
<?php } ?>
在页面 saveStatus.php 上:
<?php
if (isset($_POST['statusType'])) {
$con=mysql_connect("localhost","username","mypass","rocketdb3");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("jobs", $con);
$st=$_POST['statusType'];
$query = "UPDATE jobs SET status=$st WHERE job_id=$id";
$resource = mysql_query($query)
or die (mysql_error());
}
?>