[英]Capitalize first letter of each word pulled from mysql with PHP/jQuery
我已經將Names所有小寫字母存儲到mysql db中,但是我的用戶希望將網站上的首字母大寫。 但是我試圖找出一種方法,無論是服務器端(PHP)還是客戶端(jQuery),都無需更改數據庫中的任何內容? 這可能嗎?
碼:
$result = mysql_query("SELECT user from `users` order by user asc") or die(mysql_error());
echo '<select name="user" class="user">';
while ($row = mysql_fetch_array($result)) {
echo "<option value='".$row['user']."'>".$row['user']."</option>";
}
echo '</select>';
也有
ucwords($row['user']);
如果您想將所有單詞都大寫。
您也可以使用CSS來做到這一點:
#example {
text-transform: capitalize;
}
PHP具有ucfirst
函數。
echo "<option value='".$row['user']."'>".ucfirst($row['user'])."</option>";
通過僅更改option
內部的值,而不是value
屬性,可以確保將相同的值發送回服務器。 請注意,您也可以使用strtolower
來確保字符串全部為小寫。
在PHP中,您可以使用函數UCfirst(str);。 為達到這個。
您也可以在SQL查詢中執行此操作-但不確定這是否是最佳方法。
SELECT CONCAT(UPPER(SUBSTRING(firstName, 1, 1)),
LOWER(SUBSTRING(firstName FROM 2))) AS properFirstName
或者您可以通過CSS來做到這一點:
div.caps { text-transform: capitalize; }
結果是:
這是一些文本。
您也可以使用MySQL來做到這一點:
SELECT CONCAT(UPPER(SUBSTR(user, 1, 1)), SUBSTR(user, 2)) FROM `users` ORDER BY user ASC
像這樣的東西
$result = mysql_query("SELECT user from `users` order by user asc") or die(mysql_error());
echo '<select name="user" class="user">';
while ($row = mysql_fetch_array($result)) {
$user = explode(" ", $row['user']);
echo "<option value='".$row['user']."'>".ucfirst($user[0]).' '.ucfirst($user[1])."</option>";
}
echo '</select>';
請注意,在每個國家/地區,大寫字母和小寫字母之間的映射都不相同; 最著名的例子是土耳其,其中我<->İ和ı<-> I; 同樣,名字往往具有更復雜的大寫規則(例如“ MacDonald”,“ deVries”,“ von Hohenzollern”都是正確的姓氏)
我曾經在數據庫上運行過一次轉換,而未使用表示層。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.