使用 JQuery 显示 MySQL 数据库


Display MySQL database using JQuery

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

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

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

所以到目前为止你所做的是可以的,但你需要隐藏 php 回显的所有数据,让 jquery 解析数据,只在你需要的行中显示/淡入淡出。然后淡出最后显示的数据,淡入要显示的下一行。通过这种方式,您可以创建最新新闻的循环。

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

这将使您免于维护服务器端代码,据

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

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

最后,您

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

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

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

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

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