2
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>

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

4

4 回答 4

4

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

echo "<option value='". htmlentities($category, ENT_QUOTES) ."'>". $category ."</option>\n";
于 2012-04-18T18:41:08.427 回答
4

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

while ($row = sqlite_fetch_array($result))
{
    $category = $row[0];
    echo '<option value="'. $category .'">'. $category ."</option>\n";
} 
于 2012-04-18T18:41:38.247 回答
3

您需要引用您的 HTML 属性。

echo "<option value='". $category ."'>". $category ."</option>\n";
于 2012-04-18T18:40:34.183 回答
0

我不确定为什么会发生这种情况,但是如果您尝试这样做,它应该可以工作

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

就像我所做的那样,将 $category 括在 '' 中。

希望这可以帮助

于 2012-04-18T18:48:08.703 回答