无法在select标记中获取文本作为值



我有一个选择下拉列表,其中我希望在值中包含来自db的文本。如果我有一个像";字1字2";我只收到第一个字。我该怎么做才能拥有所有文本?

<div class="form-group">
<label>Functie</label>
<select name="functie" id="functie" class="form-control">
<option value="">&nbsp;</option>
<?php 
$stmt = $connection->query("SELECT * from functii order by functie ASC");
while ($row = $stmt->fetch_assoc()) {
echo "<option value=$row[functie]>$row[functie]</option>";
}
echo "</select>";
?>
</select>
</div>

所以基本上$row[functie]的值可以是1,2或三个单词。。。。在我的情况下,如果我选择其中一个,我只能得到第一个

谢谢

您需要更改在循环中构建option行的方式。该值需要用引号括起来。更改:

while ($row = $stmt->fetch_assoc()) {
echo "<option value=$row[functie]>$row[functie]</option>";
}

while ($row = $stmt->fetch_assoc()) {
echo '<option value="' . $row[functie] . '">' . $row[functie] . '</option>';
}

最新更新