仅将MySQL输出的第一个单词大写


Capitalize the first word outputted from MySQL only

我希望MySQL和PHP提供的第一个单词的每个字母都大写,其余单词保持小写。如何才能做到这一点?

它存储在数据库中,只有第一个字母大写,所以真正的诀窍是保持其余单词的小写。

以下是截至今天从数据库中提取单词的代码:

<?php
$query0  = "SELECT LCASE(ord) FROM `keywords` ORDER BY RAND()";
$result0 = mysql_query($query0);
while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
$keyword = $row0['LCASE(ord)'];
echo "$keyword, ";
}
?>

除非我误解了什么。。。

<?
$count = 0;
while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
    if ($count == 0) {
        $keyword = ucfirst($row0['LCASE(ord)']); // this will capitalize just the first letter
        $keyword = strtoupper($row0['LCASE(ord)']); // this will make the first word in all CAPS (choose which one you want)
    }
    else
        $keyword = strtolower($row0['LCASE(ord)']);
    echo "$keyword, ";
    $count++;
}
?>

如果我理解正确,请使用php方法ucfirst($string)

我很困惑为什么你需要这个,但它最好用PHP:来完成

$query0  = "SELECT ord FROM `keywords` ORDER BY RAND()";
$result0 = mysql_query($query0);
while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
$keyword = ucfirst(strtolower($row0['ord']));
echo "$keyword, ";
}

ucfirst:大写第一个字母
strtolower:小写整字符串

$query0  = "SELECT LCASE(ord) FROM `keywords` ORDER BY RAND()";
$result0 = mysql_query($query0);
$i=0;
while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
   if($i == 0){
      $keyword = ucfirst(strtolower($row0['LCASE(ord)']));
      $i++;
   }
   else
      $keyword = strtolower($row0['LCASE(ord)']);
   echo "$keyword, ";
}

如果数据存储在数据库中,第一个字母大写(您希望如何?),为什么要故意在查询中降低它的小写字母?

如果我完全困惑的话,你想要的函数是ucfirst:

echo ucfirst($keyword);

编辑

$index = strpos($word, ' ');
echo ucfirst(substr($word,0,$index)) . substr($word, $index);

尝试按如下方式对LCASE(ord)进行混叠:

<?php
$query0  = "SELECT LCASE(ord) LCaseValue FROM `keywords` ORDER BY RAND()";
$result0 = mysql_query($query0);
while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
    $keyword = $row0['LCaseValue'];
    echo "$keyword, ";
}
?>

解决方案最终是这样的:

$query0  = "SELECT LCASE(ord) FROM `keywords` ORDER BY RAND()";
$result0 = mysql_query($query0);
while($row0 = mysql_fetch_array($result0, MYSQL_ASSOC))
{
$keywords[] = $row0['LCASE(ord)'];
}
echo ucfirst(implode(', ', $keywords));
echo ".";
?>

这显示了一行看起来像这样的单词:

Deltagende、sosial、pragmatisk、kunskapsrik、løsningsorienter、samarbeidende、engasjert。

代替:

deltagende、sosial、pragmatisk、kunskapsrik、løsningsorienter、samarbeidende、engasjert、

这个解决方案是对另一个问题的解决方案进行修改的结果,该问题涉及如何删除我在这里发布的最后一个逗号删除最后一个逗点或阻止它在所有MySQL/PHP 上打印

您可以使用

ucwords(-yourdata-);

这将为数据的每个单词加上字幕。