-4

首先,我是 PHP 和 MySQL 的新手。

我的目标是显示数据库中学生的证词。我意识到我的代码可能过于复杂了,但任何帮助都是非常必要的。目前,它显示相同的结果。我想这是因为我呼吁同样的事情。我很困惑。请帮忙!!

<div class="block_main_testimonials">
    <h4>Student Corner</h4>
<?php   
// Connect to the file above here   
require "includes/connect.php";  

$data = mysql_query("SELECT * FROM `testimonials` ORDER BY RAND() LIMIT 0,1") 
or die(mysql_error()); 

$info = mysql_fetch_array( $data ) ; 

?>
                        <div class="one_half">
                            <div class="block_testimonials_2">
                                <div class="content">
                                    <div class="text">
                                        <p>“&lt;?php echo $info['quote'] ;?>”&lt;/p>

                                        <div class="tail"></div>
                                    </div>

                                    <div class="author">
                                      <p><?php echo $info['name'] ; ?>,<span class="position"> <a href="/<?php echo $info['url']" echo $info['department']; ?</a></span></p></div>
                                </div>
                                <div class="clearboth"></div>
                            </div>
                        </div>
4

1 回答 1

0

我不确定您要做什么,但您不想使用该GROUP BY子句

  • 如果要选择所有条目,请使用:

    mysql_query("SELECT * FROM `testimonials`");
    
  • 如果要选择一个随机条目,请使用:

    mysql_query("SELECT * FROM `testimonials` ORDER BY RAND() LIMIT 1");
    

    并摆脱while循环:

    $info = mysql_fetch_array($data);
    
  • 如果要选择一定数量的随机条目,请使用:

    mysql_query("SELECT * FROM `testimonials` ORDER BY RAND() LIMIT 2");
    

    2您想要接收的结果数量在哪里。除非您在数据库中存储了两次完全相同的行,否则这将永远不会返回一行两次。

  • 如果要以随机顺序选择所有条目,请使用:

    mysql_query("SELECT * FROM `testimonials` ORDER BY RAND()");
    

但是,如果您开始学习 PHP,请不要使用这些mysql_*函数。使用mysqliPDO代替。

于 2013-07-26T18:48:47.903 回答