3 回答

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
將選項(xiàng)寫(xiě)在一行中??瞻讓?huì)消失。
在多行中書(shū)寫(xiě)時(shí)創(chuàng)建空格是常見(jiàn)的行為。

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊
我從來(lái)沒(méi)有真正關(guān)心過(guò)我的源代碼有多漂亮。如果您想完全控制源代碼間距,那么一種方法是打印 php 標(biāo)記內(nèi)的每個(gè)選項(xiàng)并手動(dòng)添加換行符 ( \n
) 字符。\t
如果您愿意,您甚至可以在每個(gè)選項(xiàng)標(biāo)簽之前添加一個(gè)制表符 ( )。
如果您的值實(shí)際上確實(shí)有多余的前導(dǎo)和尾隨空格,那么只需使用trim()
,但我并不完全相信情況確實(shí)如此。
不要將過(guò)程語(yǔ)法與面向?qū)ο蟮?mysqli 語(yǔ)法混合在一起。我建議您繼續(xù)使用面向?qū)ο螅?jiǎn)潔且更易于使用。
mysqli 結(jié)果是一個(gè)可迭代對(duì)象——您不需要不斷調(diào)用 fetch 函數(shù)。
僅從數(shù)據(jù)庫(kù)中準(zhǔn)確選擇您想要使用的內(nèi)容。
代碼:(演示)
<select id="selectedCountry">
<?php
if ($result = $conn->query("SELECT country_code, country_name FROM countries")) {
foreach ($result as $row) {
printf(
"\t<option value=\"%s\">%s</option>\n",
trim(htmlentities($row['country_code'])),
trim(htmlentities($row['country_name']))
);
}
}
?>
</select>

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
那么你可以使用 php 本機(jī)函數(shù)刪除那些不需要的空格preg_replace('/\s+/', '', $row2['country_name']);
這是完整的代碼 $row2['country_name']
<select id="selectedCountry">
<?php
/*FETCH COUNTRY*/
$sql2 = "SELECT * FROM countries";
if($result2 = $conn -> query($sql2)) {
while($row2 = mysqli_fetch_assoc($result2)) {
//Clear the data from html and remove unwante scape
$countryName = preg_replace('/\s+/', ' ', strip_tags($row2['country_code']));
?>
<option value="<?php echo $countryName; ?>">
<?php echo $countryName; ?>
</option>>
<?php
}
}
?>
</select>
希望這有幫助!
- 3 回答
- 0 關(guān)注
- 218 瀏覽
添加回答
舉報(bào)