1

我希望将 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, ";

}
?>
4

8 回答 8

1

除非我误会了什么...

<?
$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++;

}
?>
于 2012-03-21T00:34:21.857 回答
0
$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, ";

}
于 2012-03-21T00:38:15.237 回答
0

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

于 2012-03-21T00:33:37.207 回答
0

我对你为什么需要这个感到困惑,但最好用 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:小写整个字符串

于 2012-03-21T00:33:53.570 回答
0

如果数据以首字母大写的方式存储在数据库中(您希望如何?),为什么要在查询中故意将其小写?

如果我完全困惑,你想要的功能是 ucfirst:

echo ucfirst($keyword);

编辑

$index = strpos($word, ' ');
echo ucfirst(substr($word,0,$index)) . substr($word, $index);
于 2012-03-21T00:30:30.530 回答
0

尝试为 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, ";
}
?>
于 2012-03-21T02:52:22.087 回答
0

解决方案最终是这样的:

$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, kunnskapsrik, løsningsorientert, samarbeidende, engasjert。

代替:

deltagende, sosial, pragmatisk, kunnskapsrik, løsningsorientert, samarbeidende, engasjert,

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

于 2012-03-21T10:16:41.620 回答
-1

您可以使用

ucwords(-yourdata-);

这将大写数据的每一个字。

于 2012-05-23T05:31:19.140 回答