我在从数据库中进行选择时有一个问题:
我的一个表中的一列包含来自人员的姓名。假设它看起来像这样:
1. John Smith
2. William Thorne
3. Mark Johanson
好的,我已经向您展示了一些随机名称的示例。
问题是名字和姓氏都在同一列中,当我在我的 php 文件中进行选择时,我想要得到的结果是这样的:
1. John S.
2. William T.
3. Mark J.
我希望从每个人的姓氏中,只显示姓氏的首字母。有可能这样做吗?如果有,任何帮助都会很棒。
我的代码选择示例在这里:
$result = mysql_query("SELECT * FROM feedback_rate
WHERE accept=1
ORDER BY date DESC
LIMIT $start,$rows_per_page",$con);
提前感谢您的帮助。
最佳答案
您必须意识到,要做到这一点非常困难。计算机不知道名字,它们不知道什么是名字,什么是姓氏。因此,您将不得不做出并不总是正确的假设。我假设总是只有一个名字。那么在PHP中很容易通过以下步骤解决:
- 将名字拆分成单词。
- 更改最后一个词。
- 将它们重新组合起来。
这是如何完成的:
$parts = explode(' ',$fullName);
$firstName = array_pop($parts);
$initial = substr($firstName,0,1);
array_push($parts,$initial.'.');
$fullName = implode(' ',$parts);
现在 $fullName 将包含您想要的内容。代码看起来有点长,但那是因为我尝试逐步展示它。
关于php - 从 MySQL 中选择 - 只有姓氏的首字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25563755/