2013-06-03 49 views
0

如何在將新記錄添加到數據庫時使動畫表只有動畫效果。使用php內容的Ajax更新表

的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/謝謝。

+0

你的代碼中有什麼不起作用,你有什麼問題? –

+0

我不知道如何安排它我不擅長ajax,它不會從latest.php頁面獲取任何數據。 – Tod

+0

我想通過「echo」'。$ user。''。$ action。''。$ user2。'
';「回報。例如:user1贊成User2 User4不喜歡User1我希望表格顯示最新的用戶活動。 – Tod

回答

0

你給使用setInterval(newitem, 2000)

的例子,所以你要叫上一些固定的時間間隔AJAX功能。

+0

不,我希望它在將新記錄添加到數據庫時進行更新。不是間隔時間只是表格如何移動的一個例子。 – Tod

+0

Ajax函數會調用一定的時間間隔,但如果數據庫中有新的記錄,那麼您可以創建響應條件,然後您可以發送回覆到javascript,否則不會發送任何內容到javascript –

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. 
+0

@ user1933466,如果您需要完整代碼,請告知我 – doniyor

+0

是的,我需要完整的代碼。我仍然卡住。 – Tod

+0

不會這只是把所有的數據在一個我需要它在單獨的行中只顯示最新的5條記錄。 – Tod

1

嘗試填寫如下:

$.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']; 
... 
?> 

您可能會添加s ome驗證在您的php代碼中。

希望這會幫助你。

+0

什麼是「名稱:」它來自哪裏我沒有任何標識符稱爲「名稱」... – Tod

+0

這只是一個例子,它可以是任何你會通過'$ .ajax'函數的'data'選項傳遞的任何信息 – vlio20

+0

ajax是否會在我的index.php中使用表格或者在從sql中獲取內容的php頁面中?是「名稱:」調用「$ name」還是「['name']」? – Tod