AJAX PHP UPDATE动态

时间:2013-07-22 11:01:03

标签: php mysql ajax

我正在尝试创建一个表单,用PHP和Ajax动态更新我的表,而不仅仅是使用PHP。表单工作一切都很好exept我不知道如何实现Ajax的东西。如果你能给我一个与我的问题有关的手或有用的信息,那就太好了。

PHP文件: item.php?项目=职员

<input type="submit" name="submit"  onClick="UpdateRecord('Staff');" value="Unquip" />

Javasript代码:

<script type="text/javascript">
function UpdateRecord(item)
  {
      jQuery.ajax({
       type: "POST",
       url: "item.php",
       data: 'item='+item,
       cache: false,
       success: function(response)
       {
         alert("Record successfully updated");
       }
     });
 }
    </script>

我仍然缺少一些重要的东西。

谢谢

4 个答案:

答案 0 :(得分:1)

如果可以的话,我强烈建议你研究一下像jQuery这样的javascript框架,这使得Ajax部分变得更容易。然后,您不必自己处理XMLHttpRequests,而只需调用jQuery函数。

可以在jQuery docs

中找到该功能的一些好例子

还描述了GETPOST,它们是ajax函数的更具体版本。

答案 1 :(得分:1)

如果我想将它发送给客户端,那么我通常会使用JQuery:

$.ajax({
    type:'POST',
    url: 'JQuery.php',
    data: 'Action=foo&val=' + variable ),
    async: true,
    success: function(msg){ do something }
})

将它放在javascript函数中,并创建一个回调循环或一个计时器

t=setTimeout("yourfunction( )",60000);

所以它会不时更新。 您也可以通过向服务器发送请求的方式设置它,并且超时很长,如果在超时期间发生某些事情,服务器将响应,如果我正确的gchat / fbchat以这种方式工作。

此外,这个脚本的shuld运行在cliend端,因为服务器无法从客户端浏览器启动请求/发布,所以如果纯粹的php甚至可以实现这一点,我就不会这样了。

如果您想要请求fev页面,请在服务器端汇总,然后CURL

答案 2 :(得分:1)

我看到你已经在使用jQuery,并且可能正在收到警报通知你已经拨打了电话?

如果是这种情况,您可以使用几种不同的选项来更新表格:

1:更新整个表

你可以用PHP做到这一点(让它为你生成HTML,我实际上不推荐这种做法,将你的逻辑与你的观点分开);但如果你已经在使用模板,这是一个可行的选择。

2:返回包含表所需信息的对象

然后使用Javascript / jQuery处理此信息,并使用最新信息重新填充或更新您的表。您可以通过在行和单元格中添加可用的ID来更轻松地完成此操作,这样您就可以专门定位表格的某些部分来更新它们。

3使用Javascript

重建整个表

这比#2更容易,但由于重新绘制,肯定会在客户端上花费更多时间。特别是当表包含所有需要重建/重新计算的行时。

我建议你研究做#2,你用id="item-3214325643"定义一行(<tr>)并让Javascript运行PHP的结果(应该只包含更新的结果)在处理输入之后)保持表的更新。

我希望这能帮到你!如果您需要任何具体建议,请不要犹豫与我联系:-)或重新打开另一个更具体的问题。

答案 3 :(得分:0)

This is jquery ajax easy to implement ajax.


$.ajax({
  type: "POST",
  url: "item.php",
  data: { name: "John", location: "Boston" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});

and in item.php take value as $_POST name or location and all the data you need to and 
update as you want. like
if(isset($_POST['name']))
{
// write code that you want,
}

您可以根据需要将数据作为GET或POST发送      希望它会对你有所帮助。