【问题标题】:Ajax update table with php content带有 php 内容的 Ajax 更新表
【发布时间】:2013-06-03 09:58:54
【问题描述】:

如何使动画表格仅在将新记录添加到数据库时才动画。

Ajax/Js(在 index.php 中):

$.ajax({
url : 'Not sure what goes here?',
data : {Not sure what goes here?},
dataType : 'application/json', // Is this correct?
success: function(response) {
    // Only when successful animate the content
    newItem(response);
} 
});

var newitem = function(response){
var item = $('<div>')
    .addClass('item')
    .css('display','none')
    .text(response)
    .prependTo('#scroller')
    .slideDown();
$('#scroller .item:last').animate({height:'0px'},function(){
    $(this).remove();
});
}

我的 php (latest.php):

include ('db.php');
$sql2 = "SELECT * FROM `feed` ORDER BY `timez` DESC";
$res2 = mysql_query($sql2) or die(mysql_error());
while($row3 = mysql_fetch_assoc($res2)){

$user = $row3['username1'];
$action = $row3['action'];
$user2 = $row3['username2'];

echo ''.$user.''.$action.''.$user2.'<br>'; // Needs to be a json array?

我无法让它工作,这是表格的运作方式http://jsfiddle.net/8ND53/ 谢谢。

【问题讨论】:

  • 您的代码中的什么不工作,您有什么问题?
  • 我不知道如何安排它我不擅长ajax它不会从latest.php页面获取任何数据。
  • 我想传递什么 "echo ''.$user.''.$action.''.$user2.'
    ';"返回。例如:user1 喜欢 User2 User4 不喜欢 User1 我希望表格显示最新的用户活动。
  • 你想传递什么数据给php? URL后写下php代码的位置
  • 你检查过 jquery.com/ajax 吗?有很多例子可以回答你真正的基本问题。

标签: php javascript sql ajax json


【解决方案1】:
$.ajax({
 url : your_php_file.php',
 data : {data you'r going to send to server}, // example: data: {input:yourdata}
 success: function(response) {
     $('#table_id').append('<tr>'+response+'</tr>'); // response is the date you just inserted into db    
 } 
});

your_php_file.php

add the item into db
echo that inserted data # if you echo, then you can catch this with ajax success function then you append it into your table. 

【讨论】:

  • 这不是把所有数据放在一个 我需要它在单独的行中只显示最新的 5 条记录。
  • @user1933466,然后你需要循环到 5 并且在每个循环中都进行追加
【解决方案2】:

尝试如下填写:

$.ajax({
type: "post"
url : 'locationOfphpCode/phpCode.php',
data : {data you want to pass}, //{name: "dan"}
success: function(response) {
    // Only when successful animate the content
    newItem(response);
} 
});

在您的 php 代码中,您需要接收从 ajax 调用传递的数据:

<?php
$name = $_POST['name'];
...
?>

您可以在您的 php 代码中添加一些验证。

希望这会对你有所帮助。

【讨论】:

  • 什么是“名称:”它来自哪里我没有任何称为“名称”的标识符...
  • 这只是一个例子,它可以是你通过$.ajax 函数的data 选项传递的任何东西
  • ajax 是在我的 index.php 中与表格一起进入还是在从 sql 中获取内容的 php 页面中? “name:”是在调用“$name”还是“['name']”?
  • 如果我理解正确的话,ajax 调用会“转到”你在 url 选项中给出的位置。
【解决方案3】:

你给出的例子是使用setInterval(newitem, 2000)

所以你必须在某个固定的时间间隔内调用 ajax 函数。

【讨论】:

  • 不,我希望在将新记录添加到数据库时更新它。不是间隔,这只是桌子如何移动的一个例子。
  • Ajax 函数会在某个时间间隔调用,但如果数据库中有新记录,您可以为响应设置条件,然后您可以将响应发送到 javascript,否则不发送任何内容到 javascript
猜你喜欢
相关资源
最近更新 更多
热门标签