【问题标题】:PHP Variable being cut off in <option>PHP 变量在 <option> 中被截断
【发布时间】:2023-03-24 19:20:01
【问题描述】:
while ($row = sqlite_fetch_array($result))
{
$category = $row[0];
    echo "<option value=". $category .">". $category ."</option>\n";

} 

好吧,基本上,$category 是一个字符串,例如:Java Network Programming,在“VALUE”部分它只通过“Java”,而在第二部分,它通过整个字符串?

任何原因,因为这很关键。我试过了:

<option value=$category>

仍然没有运气,我只是不明白为什么它适用于一个变量而不适用于另一个?

【问题讨论】:

    标签: php mysql html drop-down-menu


    【解决方案1】:

    对我来说,这似乎是一个缺少引号的问题:

    while ($row = sqlite_fetch_array($result))
    {
        $category = $row[0];
        echo '<option value="'. $category .'">'. $category ."</option>\n";
    } 
    

    【讨论】:

      【解决方案2】:

      引用您的属性,并通过htmlentities($value, ENT_QUOTES) 将它们编码为html,以防它们包含内部引号。

      echo "<option value='". htmlentities($category, ENT_QUOTES) ."'>". $category ."</option>\n";
      

      【讨论】:

        【解决方案3】:

        你需要引用你的 HTML 属性。

        echo "<option value='". $category ."'>". $category ."</option>\n";
        

        【讨论】:

          【解决方案4】:

          我不知道为什么会这样,但如果你尝试一下它应该可以工作

          echo "<option value='". $category ."'>". $category ."</option>\n";
          

          只需像我所做的那样将 $category 括在 '' 中。

          希望对你有帮助

          【讨论】:

            猜你喜欢
            • 2012-09-22
            • 1970-01-01
            • 2011-04-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-04-15
            • 1970-01-01
            相关资源
            最近更新 更多