我希望使用文本而不是使用提交按钮来更新MYSQL数据。 管理员将从组合框中选择选项,然后单击保存以更新MYSQL记录。 如何使用AJAX或jquery做到这一点?
我的编码:
<?php
include('config.php');
$per_page = 9;
if($_GET)
{
$page=$_GET['page'];
}
//get table contents
$start = ($page-1)*$per_page;
$sql = "SELECT bookingID,eventinfo.eventTitle,boothAlias,testbook.bstatus,date, testbook.username, customer.companyName, customer.contactName from eventinfo, testbook, customer where testbook.username=customer.username AND testbook.eventID=eventinfo.eventID order by date desc limit $start,$per_page";
$rsd = mysql_query($sql);
?>
<form method="post" name="form">
<table width="800px">
<?php
//Print the contents
while($row = mysql_fetch_array($rsd))
{
$id=$row['companyName'];
$contactName=$row['contactName'];
$eventTitle=$row['eventTitle'];
//$phone=$row['phone'];
$date=$row['date'];
$status=$row['bstatus'];
$booth=$row['boothAlias']
?>
<tr><td style="color:#B2b2b2; padding-left:4px"><?php echo $id; ?></td><td><?php echo $contactName; ?></td>
<td><?php echo $eventTitle; ?></td><td><?php echo $booth; ?></td><td><?php echo $date; ?></td><td><select name='status' id='status'>
<option value='-1'>--Select--</option>
<option value='0'>Approve</option>
<option value='1'>Reject</option>
<option value='2'>Pending</option>
</select></td><td><a href=#>save</a></td>
</tr>
<?php
} //while
?>
</table>
</form>
答案 0 :(得分:1)
使用jQuery实际上非常简单。首先,您必须创建另一个实际运行UPDATE代码的PHP脚本。我不确定您对AJAX请求了解多少,但您可以将它们视为您的浏览器在后台打开一个新选项卡,发送请求并使用JavaScript返回/解析响应。
所以,我写了一个你可以请求的PHP脚本(可能是“update_field.php”或“update_field_ajax.php”)来进行实际的更新。如果从另一个页面提交表单(即它将具有POST和GET变量,验证等),就像编写此脚本一样。将有两个主要差异。首先,你将使用jQuery传递POST参数,然后你不会返回HTML(如果你愿意,你可以返回HTML)但是如果你正在做一个简单的更新,你真的只需要某种成功或失败/错误消息响应)。我会考虑JSON作为响应类型。因此,PHP脚本由您自己编写,您可以像平常一样编写它。
接下来,您将使用jQuery从页面中获取数据(GET / POST参数)并向您创建的PHP脚本发出请求。这也不是那么糟糕。我不确定你的意思是“使用文本而不是提交按钮”,除了你不想使用提交按钮,所以我将以一种抽象的方式解释这一点。为了让AJAX调用运行,你必须触发它。这将是页面上的一个事件,该事件将调用一个触发AJAX请求的函数。谷歌周围有关于jQuery事件的信息,但实际上当事件被触发时,它会调用你定义的函数。调用该函数时,我们可以使用jQuery的post()方法创建一个AJAX post请求。此方法调用类似于:
jQuery.post('url of your script', {postVarOne: jQuery('some elt').val()}, function () {success function}, 'json');
jQuery.post的详细信息可以在http://api.jquery.com/jQuery.post/
找到所以基本上像往常一样写一个PHP脚本,返回HTML以外的其他东西,表示成功/失败或响应消息(除非你需要将HTML注入页面),然后使用jQuery.post(或jQuery更通用jQuery.ajax方法)让你的浏览器请求你定义和解析响应的GET / POST变量脚本。
最后,查看这些教程以获取更多信息/代码示例。
http://www.devirtuoso.com/2009/07/beginners-guide-to-using-ajax-with-jquery/