在您的问题中,您没有提到表格的结构。让您的公司表喜欢(或制作)
company table
+--------+-----------+-------------------+
| id | company | some other field |
+--------+-----------+-------------------+
| 1 | abc | xxxx |
+--------+-----------+-------------------+
| 2 | def | xxxx |
+--------+-----------+-------------------+
//id应该是主键
your product table (each product is made by some company)
+--------+-----------+-------------------+
| id | product | company_id |
+--------+-----------+-------------------+
| 1 | p1 | 2 |
+--------+-----------+-------------------+
| 2 | p2 | 1 |
+--------+-----------+-------------------+
现在你可以像
//code to show list of companies
$sql = "SELECT `id`, `company` FROM `company` LIMIT 0, 30 ";
$result=mysql_query($sql);
echo "<select Company='Company'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['id'] ."'>" . $row['Company'] ."</option>";
}
echo "</select>";
Edit:
太好了,现在您的下拉列表显示了公司列表。但我认为你错过了<form action='' method = "POST">
你的问题或者可能在你的文件中。制作一个功能齐全的表格。
<?php
//change according to your settings
mysql_connect('localhost','root','');
mysql_select_db("st") or die(mysql_error());
?>
<form action="st2.php" method = "POST">
<label for="company_id">Compay</label>
<select name="company_id" id="company_id">
<?php
$sql = "SELECT `id`, `company` FROM `company` LIMIT 0, 30 ";
$result=mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['id'] ."'>" . $row['company'] ."</option>";
}
?>
</select>
<label for="product_id">Product</label>
<select name="product_id" id="product_id">
<?php
$sql = "SELECT `id`, `product` FROM `product` LIMIT 0, 30 ";
$result=mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['id'] ."'>" . $row['product'] ."</option>";
}
?>
</select>
<label for="category_id">Category</label>
<select name="category_id" id="category_id">
<?php
$sql = "SELECT `id`, `category` FROM `category` LIMIT 0, 30 ";
$result=mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['id'] ."'>" . $row['category'] ."</option>";
}
?>
</select>
<input type="submit" name = "Submit"/>
</form>
让您的订单表具有这样的结构
+--------+--------------+-------------+--------------+
| id | company_id | product_id | category_id |
+--------+--------------+-------------+--------------+
| 1 | 1 | 2 | 8 |
+--------+--------------+-------------+--------------+
这里 id 是主键,company_id = id 在公司表中,product_id 和 category_id 也是他们的表的 id,对于该表来说是唯一的
=> 创建一个文件 save.php 并在此处处理表单发送的数据
<?php
//change according to your settings
mysql_connect('localhost','root','');
mysql_select_db("st") or die(mysql_error());
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['Submit'])) {
var_dump($_POST);
$company_id = $_POST['company_id'];
$product_id = $_POST['product_id'];
$category_id = $_POST['category_id'];
//Note: sanitize and validate data before saving in database
$sql = "INSERT INTO orders VALUES('', $company_id, $product_id, $category_id)";
$result = mysql_query($sql);
if($result) {
echo "data saved";
} else {
echo "error";
}
}?>
//阅读更多关于 html 中的输入字段、php 的 PDO 类、数据清理和验证以及 sql 查询。
问题:更新:
当我运行你的代码时。我对你的一些领域感到困惑。你想用这个表格做什么。我了解
1
客户可以添加订单。但是为什么会有一个下拉菜单来选择客户,而实际上您正在显示带有客户标签的公司。
2
一些输入字段 -
订单-> 用户提供订单名称或 order_id 如果 order_id 则它对 db 不利。bcoz 用户可以两次制作相同的订单 ID。
日期-> 提交的日期、完成日期或当前日期,如果是当前日期,那么您应该在后端完成。
复选框->为什么复选框没有
空白并发货->它们是什么
税->用户对产品征税,它可以(可能是我错了)
价格->用户给出每个产品的价格,好的(可能是我错误)
总计-> 用户给出总计,或者它应该计算为价格 * 数量 + 总税。那么就不需要输入框了
在实施什么信息之前更清楚。你想从用户那里得到它是否安全。或者您为用户生成它。因为表单评论用户到 db 这可能会导致严重的问题。