-3

有什么方法可以使用 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>
4

3 回答 3

1

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

于 2013-11-11T08:25:58.900 回答
1

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

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

从您的查询来看,我假设您正在使用 joomla,因此我提出了另一种效果很好的解决方案,可以让您免于服务器端的麻烦。创建包含最新消息的文章(或项目,如果您使用 cck 等 k2 等)或模块。如果它是一篇文章,则将其分配给对您的站点不可见但已发布的菜单项(这是 joomla 的一种常用技术,用于创建漂亮的内容 url 或只是像您的情况一样访问数据)。如果它是一个模块,请将其添加到您想要的页面(它是执行 jquery 代码的页面),但为其分配一个类名以便通过 css 隐藏该模块,即使用display:none.

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

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

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

于 2013-11-11T08:51:22.940 回答
0

您不能直接使用 jquery 从 mysql 获取数据,它是服务器端代码 (php) 的工作,您可以通过 jquery 调用该 php 代码。

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

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

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

于 2013-11-11T08:26:32.800 回答