#php #html #select #tags #replace
#php #HTML #выберите #Теги #заменить
Вопрос:
У меня есть следующий код:
<?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. чего вы пытаетесь достичь? не ясно с вашим вопросом
Ответ №1:
Во-первых, мне интересно, почему вы устанавливаете $a=11;
— возможно, вы имели в виду $a='';
?
Далее, у вас отсутствует /
в закрывающем option
теге. Если бы вы попробовали просмотреть исходный код вместо просмотра DOM, вы бы увидели это, а не дополнительные параметры.
Комментарии:
1. спасибо, что это было очень полезно
2. Это правильно. Вы никогда не выводите
</option>
, поэтому браузер закрывает теги за вас. Однако, поскольку вы выводите один<option value=...>
тег и один<option>
тег, браузер вставляет два закрывающих</option>
тега после каждого открытия<option>
.