为什么我的循环在<select>?</select>中生成空<option> </option>标记

时间:2011-11-08 13:06:32

标签: php html select tags replace

我有以下代码:

<?php 
        $a= 11;
        echo "<select name='rabboSelect' style='width:300px;'>";
        $sqlQuery="SELECT * FROM writers";
        $result=sql($sqlQuery);
        while($row = mysql_fetch_array($result))
        {
            $a .= "<option value='" .$row["ID"]."'>" . $row["name"] . "<option>";
        }
        echo str_replace("<option></option>", "", $a);;
        echo "</select>";
        ?>

并在html中添加<option></option>后每个,即使我尝试删除它:

<select name="rabboSelect" style="width:300px;">11<option value="2">הרב מילר</option><option></option><option value="3">משה דוויד</option><option></option><option value="4">קלמי גריינמן</option><option></option><option value="5">בנימין יעבץ</option><option></option><option value="8">אליהו פרץ</option><option></option></select>

如何阻止这种情况发生?

1 个答案:

答案 0 :(得分:4)

首先,我想知道你为什么要设置$a=11; - 你的意思是$a='';吗?

接下来,您在结束/标记中遗漏了option。如果您尝试使用View Source而不是查看DOM,那么您会看到而不是额外的选项。