从PHP中的while循环获取随机数组

时间:2013-05-04 02:55:18

标签: php mysql arrays while-loop

我为公司网站的推荐设置了一个页面。只是标准消息的第一个名字,姓氏,消息,等等等等......但是我可以将消息拉出来然后显示一个条目然后,我希望它随机生成一个“推荐”我知道已经有random_array函数包含在PHP中,但我如何在while循环中进行操作?这是我学习从MySQL数据库中提取信息的唯一方法。所以,如果有一种更简单的方法,我就是全部的耳朵。

<?php 
    mysql_select_db("test", $link); 
    $sql= "SELECT * FROM testimonials LIMIT 1";

    $result = mysql_query($sql);
    while($row = mysql_fetch_assoc($result)){ 
        // var_dump($row['message']); die;
?>                      
    <p>
<?php
    echo $row['message']; ?>"<br/>
    <div id="quote"><?php echo $row['first_name']. " " .$row['last_name'];?></div><div id="location"><?php echo $row['city']. " , " .$row['state'];?></div><br/>

    <div class="readmore">
        <a href="greenInformation.php">Click Here to view more</a>
    </div></p>

<?php } ?>

2 个答案:

答案 0 :(得分:1)

喜欢这个吗?

$sql="SELECT * FROM `testimonials` ORDER BY RAND() LIMIT 1";

另一种更好的方法是,如果你有一个ID列,那么你可以生成一个随机数并根据它获得一行。

$sql="SELECT * FROM `testimonials` WHERE `id`=".mt_rand(1,500);

答案 1 :(得分:0)

如果推荐的数量以令人难以置信的方式增加,您可以使用:

$answer = mysql_query("SELECT count(*) FROM `testimonials`");  
$nb = mysql_fetch_row($answer);  
$rand = mt_rand(0,$nb[0] - 1);  
$answer = mysql_query("SELECT * FROM `testimonials` LIMIT $rand, 1");