目前我有静态节目,wwhich显示表中的3个最后一项:
数据库表:
id | question | answer
-------------------------------------------------
1 | Q? | A?
2 | Q? | A?
3 | Q? | A?
4 | Q? | A?
5 | Q? | A?
6 | Q? | A?
到目前为止,我展示了PHP foreach,最后3项。
我希望它会动态地显示每个3项具有良好动画并且将永远循环。
我怎样才能用ajax或者什么来做?提前谢谢。
编辑(删除旧代码)。
Bahaaldine Azarmi,我在这里做了什么:
1.我创建了一个名为indexaskrefresh.php的新php文件,在php中插入了以下php代码:
$query = "SELECT * FROM que limit " .$offset. "," .$pageSize ;
mysql_query("SET NAMES 'utf8'");
$result = mysql_query($query, $func->connection);
if(!$result) //ERROR IN YOUR SQL QUERY
return false;
if(mysql_num_rows($result)==0) //NO ROWS IN TABLE pages
return false;
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) // CHANGE THE RESULT TO 2 DIMMENSIONAL ARRAY
{
$returned_array[] = $row;
}
return $returned_array;
2.接下来在我的索引文件中,我创建了名为ask的新div,并在页面顶部创建了以下新的javascript标记(Index.php):
// global vars
var offset = 0;
var pageSize = 3;
function callMyPhpScript() {
var parameters = new Object();
parameters.offset = offset;
parameters.pageSize = pageSize;
$.ajax("modules/indexaskrefresh.php", parameters)
.done(onDone)
.fail(onFail);
}
function onDone(data) {
// if no data was returned then you should reset the offset
if ( data.length == 0 ) {
offset = 0;
} else {
$('#ask').empty.append(data).show('slow');
// I assume here that data is well formed
// html code returned by you php script
offset += 3;
}
}
$(function() {
// should be move in configuration ...
var N = 5000 // Call will be made every 5 seconds.
setInterval(callMyPhpScript,N);
});
应包含响应的div(在Index.php内部):
כדאי לדעת :
$i = 0;
$len = count($que);
foreach($que as $key=>$value)
{
echo ''.$value['que'].''.$value['ans'].'';
if ($i == $len - 1) {
}else{
echo '
';
}
$i++;
}
?>
没有任何事情发生,就像脚本不工作不发布任何东西或者我不知道的东西......