使用JQuery显示MySQL数据库

时间:2013-11-11 08:23:00

标签: javascript php jquery mysql database

是否可以使用JQuery显示MySQL数据库?我希望在范围时间内显示每个数据(例如5秒),然后自动更改为其他数据。

我有这个数据

ID  Name    Text
1   Iqbal   Text from Iqbal
2   Yudi    Text from Yudi
3   Zizan   Text from Zizan

应该是这样的

Iqbal   Text from Iqbal

并在5秒后,它将变为

Yudi  Text from Yudi

等等。

我尝试过使用JQuery,但我很难将其用于已经在PHP代码中获取的数据。是否可以通过PHP调用获取数据在JQuery中显示

这是php / MySql代码

<html>
<head></head>
<body>

<div class="boxed" style="height:200px; border:1px solid #CCCC99; background:#CCCC99; overflow-x:hidden; overflow-y:scroll;">

<?php
$con=mysqli_connect("localhost","","","");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

    $result = mysqli_query($con,"SELECT * FROM jos_news ORDER BY id DESC");

    echo "<div id='news'>
<table border='0' height='175px' width='180px' cellpadding='5' cellspacing='0' style='border-radius:10px; border:1px solid #FFFFFF; background-color:#FFFFFF;' >";     

    while($row = mysqli_fetch_array($result))   {

    echo "<tr> <td align='right'><b>". $row['Text'] ."</b></td> </tr>";

      }

    echo "</table></div>";

    mysqli_close($con);
    ?>

</div>
</body>

</html>

,这是jquery脚本

 <script type="text/javascript" src="http://hna-consulting.com/hafizi-associates/templates/template_v5/jquery.js"></script>

        <script type="text/javascript">

        SliderInt=1;
        SliderNext=1;

        $("document").ready(function(){
           $(".boxed #news").fadeIn(10000);
           startSlider();

        });

        function startSlider(){
           loop = setInterval (function(){
             $(".boxed #news").fadeOut(300);

           },3000)

        }

        </script>

3 个答案:

答案 0 :(得分:1)

Jquery无法直接连接到数据库。但是,您可以创建一个php文件来获取结果,然后通过AJAX调用该页面。

答案 1 :(得分:1)

正如其他人已经注意到jQuery无法访问数据库,同样来自您发布的代码似乎您已经意识到这一点,因为您使用php访问数据库并且仅使用jquery淡入淡出数据。

所以你到目前为止所做的事情还可以,但你需要隐藏php回应的所有数据,让jquery解析数据,只显示/淡出你需要的行。然后淡出最后显示的数据并淡入您想要显示的下一行。这样您就可以创建最新消息的循环。

根据您的查询判断我假设您正在使用joomla,因此我提出了另一种解决方案,该方法运行良好,可以避免服务器方面的麻烦。创建一篇文章(或项目,如果您使用cck,如k2等)或包含最新消息的模块。如果是一篇文章将该文章分配给一个不能访问您网站但已发布的菜单项(这是一种常见的技术,可以使用joomla创建精美的内容网址,或者只是根据您的情况访问数据)。如果它是一个模块,将它添加到你想要的页面(它是执行jquery代码的页面),但是为它分配一个类名,以便通过css隐藏这个模块,即使用display:none

这将使您免于维护服务器端代码,据我所知,已经存在一些问题,即您不应该在对joomla查询中使用前缀,您应该使用joomla方式访问数据库等。< / p>

此外,您可以管理来自cms的内容,即只显示最新消息或来自特定类别的新闻等,而无需编写任何服务器端代码,也无需修改您的SQL查询。

最后你编写了jquery代码,屏幕抓取/解析该文章或模块的内容,并将数据附加到你喜欢的任何div,你需要任何效果,即淡入,淡出等。

答案 2 :(得分:0)

你无法直接使用jquery从mysql获取数据,它是服务器端代码(php)的工作,你可以通过jquery调用那个php代码。

是的,可以显示您解释的数据。您可以使用具有此功能的JQuery Cycle Plugin。

http://jquery.malsup.com/cycle/

查看示例和演示。您只需从MySQL数据库中提取这些数据,而不是图像。