2013-04-25 93 views
0

基本上,我試圖從MySQL獲得10個隨機行,並把它們放在我的頁面。獲得這10個隨機行很容易。 是我的代碼是:10個隨機mySQL行到不同的行

$r = mysql_query("SELECT * FROM email order by rand()limit 10") 
or die(mysql_error()); 
while($row = mysql_fetch_assoc($r)) 
{ 
echo $row['Email']; 
} 

現在,回聲得到那10行,並將其顯示給我,但我需要把它們分開,這樣我就可以把它們放在我的網站,每格或任何一個。任何人都可以告訴我如何分開這些電子郵件,以便我可以把他們每個人放在我需要的地方?

+1

[**在新的代碼,請不要使用'mysql_ *'功能**](http://bit.ly/ phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。 – Kermit 2013-04-25 20:58:24

回答

1
$r = mysql_query("SELECT * FROM email order by rand()limit 10") 
or die(mysql_error()); 
while($row = mysql_fetch_assoc($r)) 
{ 
echo "<div>"; 
echo $row['Email']; 
echo "</div>"; 
} 
+0

我更喜歡我得到不同的回聲,女巫我可以把我需要他們的地方 – 2013-04-25 21:04:23

+0

@AndisStrazdins所以,你想要不同的div,你可以隨時隨地呼應? – 2013-04-25 21:05:39

+0

您可以將它們推入一個數組,然後只需引用您需要的任何數組元素。下面的兩個答案都應該有幫助。 – Mattt 2013-04-26 12:32:51

0

我會在這種情況下做的是:

$r = mysql_query("SELECT * FROM email ORDER BY rand() LIMIT 10") 
or die(mysql_error()); 
$data = array(); 
while($row = mysql_fetch_assoc($r)) 
{ 
    $data[] = $row; 
} 

這會給你一個隨機行的陣列,然後可以在你的HTML執行以下操作:

echo $data[0]['Email']; 

用你想要的隨機記錄替換陣列的ID ..

+0

您應該具備的一些注意事項是如果$ data沒有設置。例如。如果有少於10條記錄。然後在回顯之前使用if(isset($ data [10])。 – 2013-04-25 21:19:22

0

不知道爲什麼你想這樣做,它我一個相當不好的設計,但是但是如果這是你想要什麼,你需要做的是:

$r = mysql_query("SELECT * FROM email order by rand()limit 10") 
or die(mysql_error()); 
while($row = mysql_fetch_assoc($r)) 
{ 
    $email[] = $row; 
} 

現在你有一個名爲$email在這10個元素的數組。您可以使用它的話,與任何更換FIELD_NAME您的電子郵件字段:

<div><?php echo $email[0]['field_name'];?></div> 
<lots of other html tags> 
<div><?php echo $email[1]['field_name'];?></div> 
<yet again more html tags> 
<div><?php echo $email[2]['field_name'];?></div>