>有什么方法可以使用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数据库中放置这些数据,而不是图像。