如何使用 PHP 在 MySQL table 上生成字母表数据?

How Generate data to alphabet on MySQL table using PHP?

你好,我有这样的表格:

员工

EmployeeID  EmployeeName 
1234        Sooyoung      
1235        Yoona     
1236        Tiffany     
1237        Hyoyeon     
1238        Taeyeon       
1239        Seohyun
1240        Sunny
1241        Yuri

我想像这样按顺序生成员工 ID:

1234 as A     
1235 as B    
1236 as C   
1237 as D 
1238 as C      
1239 as E
1240 as D
1241 as F

您知道我必须使用什么 mysql 代码和 php 什么吗?谢谢

这就是您在 PHP 中的做法,我假设这是您在标记 PHP 时希望看到的方法。

<?php

mysql_connect("localhost", "username", "password") or die(mysql_error());
mysql_select_db("yourdatabase") 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);
    }
}

?>

编辑:如果你 运行 没有字母怎么办?你想要发生什么?我猜的,如果我猜的不对,你得再解释一下。

已编辑:TurdPile 有我所拥有的简化版本。采纳他的回答。

如评论中所述,我认为您不能直接使用数据并按您希望的字母表对其进行评估(当然您仍然可以将结果分配给变量)。

如果出于某种原因必须使用 A-Z,我认为最好的解决方案是使用 PHP 脚本来解析查询结果。如果是这种情况,您实际上不需要员工 ID 号,因为您可以处理结果的出现,但我还是将 ID 号留在了那里。

<?php
// DB connection info
include("mysql_connection.php");

$query = mysql_query("SELECT EmployeeID, EmployeeName FROM Employees WHERE EmployeeID >= 1234");
$results = mysql_fetch_array($query);
$iteration = "A";
echo "ID - Name";
while(list($empNumber,$empName) = $results)){
    echo $iteration." - ".$empName;
    ++$iteration;
}
?>

注意:示例中使用了mysql_query,一般情况下应该使用MySQLiPDO

注2:这里使用$iteration会自动增加字母输出,当到达Z时,应该进入AA.