2013-04-25 63 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>