簡體   English   中英

從PHP的while循環中獲取隨機數組

[英]Getting random array from a while loop in PHP

我為公司網站設置了個人推薦頁面。 只是標准消息的名字,姓氏,消息等等……無論如何,我都可以拉出消息並顯示一個條目,但是,我希望它隨機生成一個“推薦”,我知道已經有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 } ?>

像這樣?

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

另一種更好的方法是,如果您有一個ID列,則可以生成一個隨機數並根據該數字獲得一行。

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

如果證明書數量以令人難以置信的方式增加,則可以使用以下方法:

$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");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM