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

} 

基本的に、$category は Java Network Programming のような文字列であり、「VALUE」部分では「Java」のみを通過しますが、2 番目の部分では文字列全体を通過しますか?

これは一種の重要な理由です。私が試してみました :

<option value=$category>

それでも運が悪いのですが、なぜそれが1つの変数で機能し、他の変数では機能しないのかわかりませんか?

4

4 に答える 4

4

htmlentities($value, ENT_QUOTES)属性を引用し、内部引用符が含まれている場合は、を介してhtml用にエンコードします。

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 に答える