2011-04-07 36 views
0

我想在mootools倒数后执行一个mysql_query,但我不知道该怎么做?到目前为止,我能够输出元素内的变量文本,但我无法执行内部的PHP代码。任何人有一个想法?在mootools元素内执行mysql查询?

无题

<body> 
<script type="text/javascript"> 

    var CountDown = new Class({ 

//implements 
    Implements: [Options,Events], 

//options 
    options: { 
    element: 'countdown', 
    start: 10, 
    finish: 0, 
    startFont: '12px', 
    finishFont: '12px', 
    onComplete: $empty, 
    duration: 1000 
}, 

//initialization 
initialize: function(options) { 
    //set options 
    this.setOptions(options); 
}, 

//get things started 
start: function() { 
    this.anim(); 
}, 

//animate! 
anim: function() { 
    this.options.element.set('text',this.options.start--); 
    var fx = new Fx.Tween(this.options.element,{ 
     duration: this.options.duration, 
     link: 'ignore', 
     onComplete: function() { 
      if(this.options.start >= this.options.finish) { 
       this.anim(); 
      } else { 
       this.fireEvent('complete'); 
      } 
     }.bind(this) 
    }).start('font-size',this.options.startFont,this.options.finishFont); 
} 
}); 





     /* usage */ 
     window.addEvent('domready',function() { 
    var cd = new CountDown({ 
    element: $('countdown'), 
    start: <?=$timer;?>, 
    finish: 0, 
    onComplete: function() { 
    // here i want to execute a mysql_query instead of output these vaiablesa s text 
    this.options.element.set('text','<?=$test1?><?=$test2?><?=$test3?>'); 

    } 
}).start(); 
    }); 
</script> 

<div id="countdown"></div> 

</body> 
</html> 

回答

1

PHP运行服务器上; MooTools是在浏览器中运行的JavaScript。您需要使用ajax向您的服务器发送HTTP请求,指示它执行查询数据库的PHP代码。无论那些PHP代码输出将被发送回浏览器;您使用JavaScript来解析响应并相应地更新DOM。

MooTools为您提供了一个不错的ajax API,使用名为Request,所以这可能是您想要学习和使用的。另见Request.HTML and Request.JSON demos

+0

嗨马特,这正是我以前的尝试。我知道的Request.HTML和request.JSON的东西,但我没有实现倒计时后的url调用。我怎么能打电话像这样的网址:hello.php?variable1 = hello&variable2 = john倒数后?我试图把一个HTML请求,但我失败了......但我很想执行一个文件的URL,然后更新我的表,而不是直接执行mysql_query ...你会怎么做?谢谢 – randy 2011-04-07 22:05:46

+0

嗯,这是你的问题的答案。如果你无法弄清楚如何使用ajax,可以提出一个新的问题。 – 2011-04-07 22:07:06

2

这里我们再来一次...... PHP在服务器上执行,并生成一些HTML。该HTML被发送给客户端,客户端然后加载Javascript并在客户端执行。

让Javascript与PHP对话的唯一方法是通过AJAX调用。您可以在生成页面时让PHP与Javascript交谈,就像您在使用Javascript代码中的<?= ?>材料一样。但是一旦页面发送给客户端,AJAX是您唯一的选择。

+2

我感到你的痛苦。 – 2011-04-07 21:33:47