在我的网页上,我希望能够从下拉菜单中选择一个选项。为此,我从MySQL表中选择数据:
$quantity_query = "SELECT * FROM input_quantity";
$quantity_result = mysqli_query($connection, $quantity_query);
while ($row = mysqli_fetch_array($quantity_result)) {
$option_quantity .= "<option value = $quantity_name> $quantity_name </option>";
}
然后我创建了这样的实际下拉列表:
<select id = "new_quantity" name = "new_quantity" style = "width: 100%">
<?php echo $option_quantity; ?>
</select>
然后我想将$_POST['new_quantity']
打印到屏幕上,效果很好。但是,我使用的某些数据包含空格,例如100 ml
。在这种情况下,仅打印100
。
我也试过这个
$option_quantity .= "<option value = '".$row['quantity']."'>".$row['quantity']."</option>";
但这没什么区别。
我该如何解决这个问题?
答案 0 :(得分:3)
更新此内容:
while ($row = mysqli_fetch_array($quantity_result)) {
$option_quantity .= "<option value = $quantity_name> $quantity_name </option>";
}
为:
while ($row = mysqli_fetch_array($quantity_result)) {
$option_quantity .= "<option value='$quantity_name'> $quantity_name </option>";
}
说明:当您将值设置为您的选项时,如果您没有引号(单/双),则会在第一个空格实例处修剪该值。
示例: test.php
<?php
// Handle Post
if (count($_POST))
{
var_dump($_POST);
}
// Dummy Options
$option_quantity = '';
for ($i = 1; $i < 5; $i++) {
$option_quantity .= "<option value='value$i'>Value $i</option>";
}
?>
<form action="test.php" method="post">
<select name="mySelect">
<?php echo $option_quantity; ?>
</select>
<input type="submit" value="Submit">
</form>
示例输出:
答案 1 :(得分:0)
您没有在循环中创建有效的HTML,我更喜欢HTML属性中正确的"
vs '
:
$option_quantity = null;
while ($row = mysqli_fetch_array($quantity_result)) {
$option_quantity .= '<option value="'.$quantity_name.'"> '.$quantity_name.' </option>';
}
也不要忘记在连接之前创建$option_quantity
,否则如果您有错误报告,则会收到未定义的警告。
答案 2 :(得分:-3)
如果要删除所有空格:
$str = str_replace(' ', '', $row['quantity']);
然后使用变量在需要的地方回显。
编辑:
基本上它应该看起来像这样的东西。
$str = str_replace(' ', '', $row['quantity']);
echo '<select id = "new_quantity" name = "new_quantity" style = "width: 100%">';
echo '<option value="' . $str . '">' . $str . '</option></select>';