我想要<option>
在产品名称字段旁边,但 <option>
而信息却远离了选择。我在这里做错了什么?
echo '<form action="" method="post" id="pform"><select>';
echo 'Product name: <input type="text" name="pname"><br>';
$q = mysql_query("SELECT * FROM menu");
while ($row = mysql_fetch_array($q)) {
$menu_name = $row['menu_name'];
echo '<option value="'.$menu_name.'">'.$menu_name.'</option>';
}
echo '<textarea rows="8" cols="60" name="pdes" form="pform">';
echo 'Enter product description here...</textarea><br><br>';
echo '</select><input type="submit" name="addp" value="Add this product">'.'</form>';
最佳答案
生成的 HTML 看起来像这样:
<form ...>
<select>
Product name: <input ...>
<option ...> ... </option>
<option ...> ... </option>
<option ...> ... </option>
...
<textarea ...> ... </textarea>
</select>
<input>
</form>
这是错误的。 <select>
应该只包含<option>
元素,没有别的。换句话说,您应该更改代码以生成以下结构:
<form ...>
Product name: <input ...>
<select>
<option ...> ... </option>
<option ...> ... </option>
<option ...> ... </option>
...
</select>
<textarea ...> ... </textarea>
<input>
</form>
所以在你的情况下:
echo '<form action="" method="post" id="pform">';
echo 'Product name: <input type="text" name="pname"><br>';
echo '<select>';
$q = mysql_query("SELECT * FROM menu");
while ($row = mysql_fetch_array($q)){
$menu_name = $row['menu_name'];
echo '<option value="'.$menu_name.'">'.$menu_name.'</option>';
}
echo '</select>';
echo '<textarea rows="8" cols="60" name="pdes" form="pform">';
echo 'Enter product description here...</textarea><br><br>';
echo '<input type="submit" name="addp" value="Add this product">'.'</form>';
关于php - html选项数据显示外出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37797732/