首先,我是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>“<?php echo $info['quote'] ;?>”</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>
答案 0 :(得分:0)
我不确定你想做什么,但你不想使用GROUP BY
clause。
如果要选择所有条目,请使用:
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,请don't use the mysql_*
functions. Use mysqli
or PDO
instead.