在你的问题中,你没有提到你的桌子的结构。
让您的公司表喜欢(或制作)
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-> 用户提供订单名称或 order_id 如果 order_id 则对 db 不利。 bcoz 用户可以两次创建相同的订单 ID。
日期->提交的日期、完成或当前日期,如果是当前日期,那么您应该在后端完成。
checkbox ->为什么复选框没有得到
空白并发货->它们是什么
税 ->用户对产品征税,没关系(可能是我错了)
价格 -> 用户给出每个产品的价格,好的(可能是我错了)
总计 ->用户给出总计,或者按价格*数量+总税额计算。那么就不需要输入框了
在实施什么信息之前更清楚。你想从用户那里得到它是否安全。或者您为用户生成它。因为表单评论用户到 db 这可能会导致严重的问题。