如何使用PHP在MySQL上显示随机数据? [英] How to Display Random Data on MySQL using PHP?
本文介绍了如何使用PHP在MySQL上显示随机数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好,我有这样的表:
员工
EmployeeID EmployeeName
1234 Nayeon
1235 Jihyo
1236 Jungyeon
1237 Dahyun
1238 Sana
1239 Mina
1240 Tzuyu
1241 Chaeyeong
1241 Chaeyeong
1242 Momo
我使用了此源代码:
<?php
mysql_connect("localhost", "root", "1234") or die(mysql_error());
mysql_select_db("databasetransport") or die(mysql_error());
$employees = mysql_query("SELECT * FROM Employee ORDER BY EmployeeID")
or die(mysql_error());
$letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$position = 0;
$position2 = 0;
$toomany = '';
while($row = mysql_fetch_array( $employees )) {
echo "<DIV>" . $toomany.substr($letters, $position, 1) . " = " . $row['EmployeeName'] . " </div>";
$position ++;
if($position > 25) {
$position = 0;
$position2 ++;
if($position2 > 25) { echo "We need to rethink this idea."; break; }
$toomany = substr($letters, $position2, 1);
}
}
?>
显示这些数据:
A = Nayeon
B = Jihyo
C = Jungyeon
D = Dahyun
E = Sana
F = Mina
G = Tzuyu
F = Chaeyeong
H = Chaeyeong
I = Momo
问题是我想将这样的数据随机化(来自之前的结果):
The problem is i want to random that data like this (from the result before):
C = Jungyeon
A = Nayeon
H = Chaeyeong
B = Jihyo
I = Momo
F = Mina
G = Tzuyu
E = Sana
F = Chaeyeong
D = Dahyun
所以我添加了这样的代码:
so i add codes like this :
<?php
mysql_connect("localhost", "root", "1234") or die(mysql_error());
mysql_select_db("databasetransport") or die(mysql_error());
$employees = mysql_query("SELECT * FROM Employee ORDER BY EmployeeID")
or die(mysql_error());
$letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$position = 0;
$position2 = 0;
$toomany = '';
while($row = mysql_fetch_array( $employees )) {
echo "<DIV>" . $toomany.substr($letters, $position, 1) . " = " . $row['EmployeeID'] . " </div>";
$position ++;
if($position > 25) {
$position = 0;
$position2 ++;
if($position2 > 25) { echo "We need to rethink this idea."; break; }
$toomany = substr($letters, $position2, 1);
}
}
function generateRandomString($length = 10) {
$characters = $positions;
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
echo generateRandomString();
?>
但是什么也没发生(LOL),您可能知道问题出在哪里吗?谢谢
but nothing happened (LOL) may you know where is the problem? Thank you
推荐答案
只需构建您的数组,然后使用它
Just build your array and then use this
http://php.net/manual/en/function.shuffle.php
欢呼.
$a = array(
'A = Nayeon',
'B = Jihyo',
'C = Jungyeon',
'D = Dahyun',
'E = Sana',
'F = Mina',
'G = Tzuyu',
'F = Chaeyeong',
'H = Chaeyeong',
'I = Momo',
);
shuffle( $a );
var_export( $a );
输出:
array (
0 => 'I = Momo',
1 => 'E = Sana',
2 => 'F = Chaeyeong',
3 => 'F = Mina',
4 => 'B = Jihyo',
5 => 'A = Nayeon',
6 => 'C = Jungyeon',
7 => 'G = Tzuyu',
8 => 'D = Dahyun',
9 => 'H = Chaeyeong',
)
- 从另一方面来说,shuffle并不维护数组键,而是修改了数组,这意味着shuffle的实际返回是一个布尔值(true | false).
- 但是确实保留了带有分配字母的名称(如果需要的话)
- 简单快捷
- 可读
- 确保不会将同一行两次拉出.
- As a side here, shuffle does not maintain the array keys, and it modifies the array meaning that the actual return of shuffle is a Boolean ( true | false ) value.
- It does however keep the names with the letter assigned ( if that is desirable )
- Is simple and fast
- Is readable
- Insures you don't pull the same row out twice.
这篇关于如何使用PHP在MySQL上显示随机数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文