php - 从 MySQL 中选择 - 只有姓氏的首字母

标签 php mysql select

我在从数据库中进行选择时有一个问题:

我的一个表中的一列包含来自人员的姓名。假设它看起来像这样:

 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中很容易通过以下步骤解决:

  1. 将名字拆分成单词。
  2. 更改最后一个词。
  3. 将它们重新组合起来。

这是如何完成的:

$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/

相关文章:

sql-server-2008 - 如何检索之前的日期并在查询中使用它?

php - 如何读取sql中的当前值

MySQL 查询可以在 Workbench 中运行,但不能在代码中运行

mySQL 搜索同一列中的多个值组合

arrays - 从值范围内的 influxdb 记录中选择

php 从另一个字符串中匹配一个字符串

php - 循环不写正确的值

javascript - Firefox 不会重置 jquery 创建的元素

php - 仅当不存在时才插入

php - 如何跟踪/调试此错误 SOAP [消息 :protected] => looks like we got no XML document