<center><?php
include "config.php"; // Database connection using PDO
//$sql="SELECT name,id FROM student";
$sql="SELECT Product_Name, id FROM stockcount";
/* You can add order by clause to the sql statement if the names are to be displayed in alphabetical order */
?>
<select id = 'ProductName' name='productName' onchange="" >Product_Name </option>"
<?php
foreach ($conn->query($sql) as $row){//Array or records stored in $row
echo "<option value=$row[Product_Name]>$row[Product_Name
]</option>";
/* Option values are added by looping through the array */
}
?>
</select>
</center><p></P>
此代码显示库存盘点表中的所有产品名称。
<?PHP
include ('config.php');
$date = $_POST['date'];
$productname = $_POST['productName'];
$cartons = $_POST['cartons'];
$send_to = $_POST['send_To'];
$sql = "INSERT INTO storerequest (Date, Product_Name, Cartons, Send_To) VALUES ('$date','$productname', '$cartons', '$send_to')";
if ($conn->query($sql)===TRUE) {
header("Location:orderrequest.php");
}
else {
echo "Error is " .$sql."<br>". $conn->error;
}
$conn->close();
?>
这会将下拉列表中的选择添加到 storerequest 表中。
现在的问题是,如果我从下面选择一个名为"汽车"的选项。它仅作为"电机"插入到存储请求表中。当我将产品名称更改为"汽车"时,它插入为"汽车"。它基本上只存储第一个单词。请专家帮我解决这个问题
您忘记了value
的"
符号:
echo '<option value="'.$row[Product_Name].'">'.$row[Product_Name].'</option>"';
需要更改echo
语句。更改自
echo "<option value=$row[Product_Name]>$row[Product_Name]</option>";
自
echo "<option value='$row[Product_Name]'>$row[Product_Name]</option>";
您的问题是您没有将 value
属性的值包装在单引号或双引号中。
即 value=$row[Product_Name]
echo "<option value=$row[Product_Name]>$row[Product_Name]</option>";
您不必将属性值括在引号中,但如果值中包含空格,例如Motor Car
所以你必须做
echo "<option value='$row[Product_Name]'>$row[Product_Name]</option>";
或
echo '<option value="' . $row['Product_Name'] . '">' . $row['Product_Name'] . '</option>';
是的,或者如果您需要 html 的双引号,只需转义它们:"回声"$row[Product_Name]";