所以我要做的就是在下拉列表中向name='' value
添加option
。这一切都非常简单,仅使用HTML。但是我希望name value
来自我排队的数据库。但是数据库字符串在单词之间有spaces
,这会导致问题。我需要字符串为Eten & drinken
而不是现在输出的方式,请参阅下面的示例。
现在,我已经得到了这个:
<?php $q = $row["Categorie"];
echo "
<option value=".$q." name=".$q.">
".$row["Categorie"]."
<span style='font-size:1.2rem;color:#F8F8F8;'>(" . $row['x'] . ")
</span>
</option>
";?>
如果我查看来源,会输出以下内容:
<option value="eten-en-drinken" name="Eten" &="" drinken="">
Eten & drinken (19)
</option>
我已尝试搜索Google和str_replace
,htmlspecialchars
,utf8_encode
并将name
更改为data-type
,但注意到有效。我只想让它成为Eten en drinken
。我需要在第二个下拉菜单中使用这个确切的值。有任何想法,文件或帮助吗?
答案 0 :(得分:1)
通过添加name
属性的缺失引号,可以解决您的问题。
echo "
<option value=".$q." name='".$q."'>..."
答案 1 :(得分:0)
试试此代码
$ q = $ row [“Categorie”];
echo“&lt; option value =”。$ stub。“name =”。$ q。“&gt;”。$ row [“Categorie”]。“&lt; span style ='font-size:1.2rem;颜色:#F8F8F8;'&gt;(“。$ row ['x']。”)&lt; / span&gt;&lt; / option&gt;“;
答案 2 :(得分:0)
在将数据保存到mySQL时应该尝试使用htmlspecialchars()而不是在检索数据时使用{ - 3>} -
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>
?>
检索数据时,请尝试使用htmlspecialchars_decode() -
<?php
$str = "<p>this -> "</p>\n";
echo htmlspecialchars_decode($str);
// note that here the quotes aren't converted
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>