不确定这是否可行但是在这里,我有一个基本的PDO查询,将结果存储在一个数组中。
<?php
// configuration
$dbtype = "";
$dbhost = "";
$dbname = "";
$dbuser = "";
$dbpass = "";
// database connection
$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass);
$title = 'PHP AJAX';
// query
$sql = "SELECT * FROM thankyou";
$q = $conn->prepare($sql);
$q->execute(array($title));
$q->setFetchMode(PDO::FETCH_BOTH);
// fetch
while($r = $q->fetch()){
echo"<br>";
print_r ($r);
}
?>
现在我无法理解,我也从未使用过JavaScript。我可以旋转结果以一次显示一个5-10秒然后显示另一个吗?它可以是随机的也可以是有序的,我不会被打扰。我发现这个有用,但无法弄清楚如何将数组放入其中。我知道一个是客户端,一个是服务器端。
<script type="text/javascript">
var rotatingTextElement;
var rotatingText = new Array();
var ctr = 0;
function initRotateText() {
rotatingTextElement = document.getElementById("textToChange");
rotatingText[0] = rotatingTextElement.innerHTML; // store the content that's already on the page
rotatingText[1] = "need to write PDO array here";
setInterval(rotateText, 5000);
}
function rotateText() {
ctr++;
if(ctr >= rotatingText.length) {
ctr = 0;
}
rotatingTextElement.innerHTML = rotatingText[ctr];
}
window.onload = initRotateText;
</script>
这是结果显示
<span id="textToChange">this is were the result is displayed</span>
如果我需要以完全不同的方式做到这一点,如果有人能指出我正确的方向,这不是问题。
答案 0 :(得分:0)
如果您对JavaScript不熟悉,我还建议使用一些JS库来完成任务。事实上,Prototype.js有一个完全符合此目的的类:http://prototypejs.org/doc/latest/ajax/Ajax/PeriodicalUpdater/index.html
一个工作示例:http://www.tutorialspoint.com/prototype/prototype_ajax_periodicalupdater.htm
答案 1 :(得分:0)
我决定使用AJAX最终调用一个单独的PHP页面并且工作正常,这是更新的页面。
<script type="text/javascript">
$(function() {
getStatus();
});
function getStatus() {
$('div#status').load('thankyou.php')//Thankyou being the page the query is on
setTimeout("getStatus()",5000);//refreshes every 5 seconds
}
</script>
查询本身是标准PDO
$query = $db->query("SELECT * FROM `thankyou` ORDER BY RAND() LIMIT 1
感谢所有指针。