首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql php使用javascript rotator随机选择

mysql php使用javascript rotator随机选择
EN

Stack Overflow用户
提问于 2012-07-13 09:16:00
回答 1查看 369关注 0票数 0

我刚刚开始学习PHP,并且一直在尝试建立一个学习的网站。我发现了一个在互联网here上旋转文本的javascript脚本,看起来像这样:

代码语言: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!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-13 09:42:06

因此,如果我理解您的意图,您希望从数据库中提取事件,并将它们传递到页面上的JavaScript中,以便在rotator中使用:

在PHP中

使用您已经在使用的任何MySQL应用程序接口来执行查询。使用旧的mysql_*()函数如下所示。(注意:实际上不推荐使用` `mysql*()`_函数,但这似乎是您当前正在使用的函数。如果我发现了其他情况,我会更新的…)

代码语言:javascript
复制
// 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中:

代码语言: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);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11462858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档