【问题标题】:Jquery display text from mysqljquery显示来自mysql的文本
【发布时间】:2013-05-26 05:13:08
【问题描述】:

也许有人可以给我一点帮助。 我修改了一个 jquery 以显示我想要的,你可以在这里看到它:http://loja.genesiseries.com/depoimentos/index.html

但我需要显示来自 mysql DB 的文本,所以我创建了一个新页面并放置了 php echo。 http://loja.genesiseries.com/depoimentos/mysql.php

它工作,但不是我想要的。 我需要什么:当访问者单击 proximo (NEXT) 按钮时,jquery 会显示下一个 div,其中包含来自数据库的新文本 发生了什么:当我单击 proximo (NEXT) 按钮时,jquery 会显示下一个 div 但不加载新文本,如何解决?

我现在想知道,删除前一个按钮(前面的)也许是一个很好的改进,因为该按钮将加载随机文本,回到它没有意义,还是这样做?我也在考虑 div 的限制,这里我只放了 3 个 DIVS,当我在 div 的末尾得到它时 jquery 再次显示第一个 div,如何解决它

我对 jquery 一无所知。

这里是php代码:

<?php
$sql = "SELECT * FROM opinions ORDER BY rand() LIMIT 5";
$resultado = mysql_query($sql);
while ($linha=mysql_fetch_array($resultado)) {
$depoimento = $linha["depoimento"];
$client = $linha["client"];

}
?>

现在是 div

<div id="slides">
    <div class="slides_container">

        <div>
            <p class="depoimento"><font color="#bdbdbd"><?php echo "$depoimento"; ?></font></p><p class="cliente"><font color="#99CB1E"><?php echo "$client"; ?></font></p>
        </div> 
        <div>
            <p class="depoimento"><font color="#bdbdbd"><?php echo "$depoimento"; ?></font></p><p class="cliente"><font color="#99CB1E"><?php echo "$client"; ?></font></p>
        </div>

   <div>
<p><font color="#bdbdbd">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed                 do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,         quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</font>    </p>
</div>

    </div>
</div>

帮助? 非常感谢!

【问题讨论】:

  • 您的 PHP 正在从数据库中设置变量,但没有将它们打印到页面上。
  • 是的,他们是!

  • 但这不在从数据库读取的while循环内,所以它只是打印上次迭代的变量。
  • santanu kumar 已经给了我代码,但是你能给我一个例子吗?谢谢!!

标签: php jquery mysql text show


【解决方案1】:

你可以试试这样Grab$silder_content里面的所有内容并显示在html里面

<?php
$sql = "SELECT * FROM opinions ORDER BY rand() LIMIT 5";
$resultado = mysql_query($sql);
$silder_content="";
while ($linha=mysql_fetch_array($resultado)) {
$depoimento = $linha["depoimento"];
$client = $linha["client"];

$silder_content .='<div>
            <p class="depoimento"><font color="#bdbdbd">'.$depoimento.'</font></p><p class="cliente"><font color="#99CB1E">'.$client.'</font></p>
        </div>';

}
?>

<div id="slides">
    <div class="slides_container"> 

    <?php echo $silder_content; ?>

   <div>
<p><font color="#bdbdbd">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed                 do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,         quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</font>    </p>
</div>

    </div>
</div>

【讨论】:

  • 检查一下:loja.genesiseries.com/mysql2.php 但是这种方式会从数据库中加载所有内容吗?这会使页面变慢吗?
  • 不,这取决于您要显示多少条记录..但是如果您有大数据,那么您应该尝试使用 json 数据
  • 嗯,会有100+条记录:\这个json会更轻吗?
  • 因为这样每个人都会受到伤害,点击时一个一个加载会很酷。有没有办法做到这一点?
  • @user2415711 一个一个也会很慢,因为您每次都必须访问数据库,但是如果您在初始页面加载期间保存数据,那么您可以在整个页面中进行操作。
【解决方案2】:

这段代码有两个问题,它们在循环中重新分配相同的变量,并且没有回显任何内容。

试试这样的。

$sql = "SELECT `depoimento`, `client` FROM opinions ORDER BY rand() LIMIT 5";
$ret = array();
$resultado = mysql_query($sql);
while ($linha=mysql_fetch_assoc($resultado)) {
    $ret[] = $linha;
}
echo json_encode($ret);

【讨论】:

  • 您好 Orangepill,感谢您的回答,但您的代码显示为:[{"depoimento":"Test Depoiment #1","client":"Client #1"},{"depoimento" :"Test Depoiment #2","client":"Client #2"}] 我用错了代码,完全按照你说的方式使用 谢谢!
【解决方案3】:

您需要在 while 循环中回显 DIV:

<div id="slides">
    <div class="slides_container"> 
    <?php
    $sql = "SELECT * FROM opinions ORDER BY rand() LIMIT 5";
    $resultado = mysql_query($sql);
    $silder_content="";
    while ($linha=mysql_fetch_array($resultado)) {

        $depoimento = $linha["depoimento"];
        $client = $linha["client"];

        echo '<div>
                <p class="depoimento"><font color="#bdbdbd">'.$depoimento.'</font></p><p class="cliente"><font color="#99CB1E">'.$client.'</font></p>
              </div>';

    }
    ?>

     <div>
       <p><font color="#bdbdbd">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed                 do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,         quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</font>    </p>
     </div>

   </div>
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 2013-01-14
    • 1970-01-01
    相关资源
    最近更新 更多