我刚刚开始学习PHP,并且一直在尝试建立一个学习的网站。我发现了一个在互联网here上旋转文本的javascript脚本,看起来像这样:
<script language="JavaScript">
function rotateEvery(sec)
{
var Quotation=new Array()
// QUOTATIONS
Quotation[0] = 'First quotation';
Quotation[1] = 'Second quotation';
Quotation[2] = 'Third quotation';
Quotation[3] = 'Fourth quotation';
Quotation[4] = 'Fifth quotation';
Quotation[5] = 'Sixth quotation';
Quotation[6] = 'You can add <b>as many</b> quotations <b>as you like</b>';
var which = Math.round(Math.random()*(Quotation.length - 1));
document.getElementById('textrotator').innerHTML = Quotation[which];
setTimeout('rotateEvery('+sec+')', sec*1000);
}
</script>我还有一个名为events的数据库表,它有三个字段( id、when、tag),当是日期时,tag是对事件的描述(例如,圣诞节聚会/我家里的万圣节)。
我想要做的是选择今天正在发生的事件,并将它们随机放入我的javascript旋转器中。
这个是可能的吗?我该如何去实现它呢?我知道我真的不擅长解释我的问题,所以如果我遗漏了更多的细节,如果你可以告诉我,我可以help.Thanks!
发布于 2012-07-13 09:42:06
因此,如果我理解您的意图,您希望从数据库中提取事件,并将它们传递到页面上的JavaScript中,以便在rotator中使用:
在PHP中
使用您已经在使用的任何MySQL应用程序接口来执行查询。使用旧的mysql_*()函数如下所示。(注意:实际上不推荐使用` `mysql*()`_函数,但这似乎是您当前正在使用的函数。如果我发现了其他情况,我会更新的…)
// Assuming `when` is a real DATE or DATETIME data type in MySQL...
// compare to CURDATE() to get today's
$result = mysql_query("SELECT tag FROM events WHERE DATE(when)=CURDATE()");
if ($result) {
// array to hold all the output
$events = array();
while ($row = mysql_fetch_assoc($result)) {
// Add the event to your array
$events[] = $row['tag'];
}
// After building the array, encode it as JSON
// Later you'll echo this into your JavaScript in place of the array...
$events = json_encode($events);
}稍后在HTML/JavaScript输出中
将JSON字符串(数组)输出到页面上的JavaScript中:
function rotateEvery(sec)
{
// The JSON from PHP output here
// Would look something like
// ["Event 1","Event 2","Event 3"]
var Quotations = <?php echo $events; ?>;
var which = Math.round(Math.random()*(Quotation.length - 1));
document.getElementById('textrotator').innerHTML = Quotation[which];
setTimeout('rotateEvery('+sec+')', sec*1000);
}https://stackoverflow.com/questions/11462858
复制相似问题