【问题标题】:How to Use looping on PHP and MySQL?如何在 PHP 和 MySQL 上使用循环?
【发布时间】:2015-07-10 05:24:13
【问题描述】:

你好,我有这样的表:

员工

EmployeeID  EmployeeName 
1234        Minjun   
1235        Nichkhun     
1236        Taecyeon     
1237        Wooyoung     
1238        Junho       
1239        Chansung

我使用了这个源代码:

    <?php

mysql_connect("localhost", "root", "1234") or die(mysql_error());
mysql_select_db("Employee") or die(mysql_error());

$employees = mysql_query("SELECT * FROM employee ORDER BY EmployeeID") 
or die(mysql_error());  


$letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; 

$array = array(); 

while($row = mysql_fetch_assoc($employees)){ 
$array[] = $row;
} 

$i = 0; 

// Assign a letter to each employee in the correct order 
foreach($array as $Key => $row){ 
$array[$Key]["letter"] = substr($letters, $i, 1); 
$i++; 
if($i > 25){ 
$i = 0; 
} 
} 

// Shuffle the array 
shuffle($array); 

// Print each entry with correctly assigned letter and name. 
foreach($array as $row) { 
echo "<DIV>" . $row["letter"] . " = " . $row['EmployeeName'] . " </div>"; 
}


?>

像这样显示随机数据:

E = Junho
B = Nichkhun
C = Taecyeon
F = Chansung
D = Wooyoung
A = Minjun

或者像这样:

B = Nichkhun
D = Wooyoung
F = Chansung
E = Junho
A = Minjun
C = Taecyeon

问题是我想像这样显示 10 种类型的随机变量:

E = Junho
B = Nichkhun
C = Taecyeon
F = Chansung
D = Wooyoung
A = Minjun 

F = Chansung
D = Wooyoung
C = Taecyeon
E = Junho
B = Nichkhun
A = Minjun

A = Minjun
D = Wooyoung
E = Junho
B = Nichkhun
F = Chansung
C = Taecyeon

D = Wooyoung
B = Nichkhun
C = Taecyeon
A = Minjun
E = Junho
F = Chansung

C = Taecyeon
D = Wooyoung
F = Chansung
A = Minjun
E = Junho
B = Nichkhun

A = Minjun
F = Chansung
C = Taecyeon
E = Junho
D = Wooyoung
B = Nichkhun

C = Taecyeon
D = Wooyoung
F = Chansung
B = Nichkhun
A = Minjun
E = Junho

E = Junho
C = Taecyeon
B = Nichkhun
F = Chansung
D = Wooyoung
A = Minjun

E = Junho
B = Nichkhun
A = Minjun
D = Wooyoung
F = Chansung
C = Taecyeon

D = Wooyoung
A = Minjun
C = Taecyeon
B = Nichkhun
F = Chansung
E = Junho

所以我添加这样的代码:

  <?php

mysql_connect("localhost", "root", "1234") or die(mysql_error());
mysql_select_db("Employee") or die(mysql_error());

$employees = mysql_query("SELECT * FROM employee ORDER BY EmployeeID") 
or die(mysql_error());  


$letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; 

$array = array(); 

while($row = mysql_fetch_assoc($employees)){ 
$array[] = $row;
} 

$i = 0; 

// Assign a letter to each employee in the correct order 
foreach($array as $Key => $row){ 
$array[$Key]["letter"] = substr($letters, $i, 1); 
$i++; 
if($i > 25){ 
$i = 0; 
} 
} 

// Shuffle the array 
shuffle($array); 

// Print each entry with correctly assigned letter and name. 
for ($i=1; $i<=10; $i++){

foreach($array as $row) { 
echo "<DIV>" . $row["letter"] . " = " . $row['EmployeeName'] . " </div>"; 
echo "";

}
}

?>

但是结果是这样的(循环一个结果10次):

C = Taecyeon
D = Wooyoung
B = Nichkhun
A = Minjun
F = Chansung
E = Junho

C = Taecyeon
D = Wooyoung
B = Nichkhun
A = Minjun
F = Chansung
E = Junho

C = Taecyeon
D = Wooyoung
B = Nichkhun
A = Minjun
F = Chansung
E = Junho

C = Taecyeon
D = Wooyoung
B = Nichkhun
A = Minjun
F = Chansung
E = Junho

C = Taecyeon
D = Wooyoung
B = Nichkhun
A = Minjun
F = Chansung
E = Junho

C = Taecyeon
D = Wooyoung
B = Nichkhun
A = Minjun
F = Chansung
E = Junho

C = Taecyeon
D = Wooyoung
B = Nichkhun
A = Minjun
F = Chansung
E = Junho

C = Taecyeon
D = Wooyoung
B = Nichkhun
A = Minjun
F = Chansung
E = Junho

C = Taecyeon
D = Wooyoung
B = Nichkhun
A = Minjun
F = Chansung
E = Junho

C = Taecyeon
D = Wooyoung
B = Nichkhun
A = Minjun
F = Chansung
E = Junho

你知道问题出在哪里吗?谢谢

【问题讨论】:

    标签: php mysql loops xampp shuffle


    【解决方案1】:

    如下更新您的“for循环”并尝试

     //shuffle($array); //Comment this line
    
        for ($i=1; $i<=10; $i++){
        shuffle($array);
        foreach($array as $row) { 
        echo "<DIV>" . $row["letter"] . " = " . $row['EmployeeName'] . " </div>"; 
        echo "";
    
        }
        }
    

    【讨论】:

    • 哦,是的,它现在正在工作。非常感谢您的帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    • 2011-03-09
    • 1970-01-01
    相关资源
    最近更新 更多