我有这个PHP代码段,它使<li>
的某个ID由mysqli_query
获取的行选择。它看起来像这样:
while($row=mysqli_fetch_array($run_query)){
$name=$row['company_name'];
echo "<li><a href='#' id=".$name." class='category_sidebar2'>$name</a></li>";
}
当$name
是像戴尔或Facebook这样的单个实体时,它会创建<li>
就好了,但当$name
是一个空格分隔的值,如&#34; Tata钢&#34;或其他什么,它创建<li>
id
只是空格前的第一个值。
例如,如果$name
是&#34; Tata Steel&#34;,它就会回应
<li><a href='#' id='Tata'></li>
而不是
<li><a href='#' id='Tata Steel'></li>
我如何解决这个问题?
答案 0 :(得分:1)
如果属性包含空格,则需要在属性周围加上引号。否则,该空间将结束该属性。你应该养成总是在属性上加引号的习惯(就像你为href
和class
所做的那样)。
while($row=mysqli_fetch_array($run_query)){
$name=$row['company_name'];
echo "<li><a href='#' id='".$name."' class='category_sidebar2'>$name</a></li>";
}
但是,正如评论中所提到的,id
属性中允许的空格。您可以用其他字符替换空格,例如
$name = str_replace(' ', '_', $row['company_name']);