1

customer、products、orders、および order_details の 4 つのテーブルを持つ MySQL データベースがあります。ドロップダウンを持つフォーム (html または php) を取得しようとしています: 1-customer: 顧客テーブルからプル 2-Item: 製品テーブルからプル

次に、情報を order & order_details に投稿します。ビューからデータを取得するためのフォームを取得しましたが、データを投稿するにはフォームが必要です.\

コードは次のとおりです。

<?php
include ('connect.php');    
mysql_select_db("db") or die(mysql_error());

$sql = "SELECT DISTINCT Company FROM `values` LIMIT 0, 30 ";

$result=mysql_query($sql);

echo "<select Company='Company'>";
while ($row = mysql_fetch_array($result)) {
    echo "<option value='" . $row['Company'] ."'>" . $row['Company'] ."</option>";
}
echo "</select>";

$sql = "SELECT DISTINCT Item, Type FROM `values` LIMIT 0, 30 ";

$result=mysql_query($sql);

echo "<select Item='Item'>";
while ($row = mysql_fetch_array($result)) {
    echo "<option value='" . $row['Item'] ."'>" . $row['Item'] ."</option>";
}
echo "</select>";

$sql = "SELECT DISTINCT Type FROM `values` LIMIT 0, 30 ";

$result=mysql_query($sql);

echo "<select Type='Type'>";
while ($row = mysql_fetch_array($result)) {
    echo "<option value='" . $row['Type'] ."'>" . $row['Type'] ."</option>";
}
echo "</select>";

?>
<input type="Submit">
4

3 に答える 3

1

あなたの質問では、テーブルの構造について言及していません。あなたの会社のテーブルを好きなようにする(または作る)ことができます

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 = company テーブルの 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 を提供します。bcoz ユーザーは同じ注文 ID を 2 回行うことができます。
日付-> 提出の日付、完了日、または現在の日付。現在の日付の場合は、バックエンドで行う必要があります。
チェックボックス-> チェックボックスが
空白になって出荷されない理由 - >
税金-> ユーザーは製品にかかる税金を提示します。OK (私が間違っている可能性があります)
価格-> ユーザーは製品ごとの価格を提示します。間違っている)
合計-> ユーザーが合計を入力するか、価格 * 数量 + 合計税として計算する必要があります。その場合、入力ボックスは必要ありません

どの情報を実装する前に、より明確にしてください。ユーザーから取得したいもので、安全かどうか。または、ユーザー用に生成します。フォームはユーザーを db にコメントし、深刻な問題を引き起こす可能性があるためです。

于 2013-03-28T16:06:06.340 に答える
1
<label for="company_id">Company:</label>
<select name="company_id" id="company_id">
    <option value="0">-- Select Company--</option>
    <?php 
        while ($row = mysql_fetch_array($result)) {
            echo "<option value='{$row[company_id']}'";
            if ($errors && $_POST["company_id"] == $row[company_id']) {
                echo 'selected="selected"';
            } 
            echo ">{$row['company_name']}</option>";
        } 
    ?>
</select>
于 2013-03-28T15:08:48.017 に答える
0

ここに私のフォームがあります:

<?php

//change according to your settings 

 include ('connect.php'); 

mysql_select_db("hachemal_compuworld") or die(mysql_error());

?>

<form action="Add_order.php" method = "POST">

&nbsp;<label for="Customer">Customer<br />
</label>

    &nbsp;&nbsp;<select name="Cust_id" id="Cust_id" style="width: 126px">

        <?php 

            $sql = "SELECT `Cust_id`, `Company`  FROM  `customer` LIMIT 0, 30 ";

            $result=mysql_query($sql);

            while ($row = mysql_fetch_array($result)) {

                echo "<option value='" . $row['Cust_id'] ."'>" . $row['Company'] ."</option>";

            }

        ?>

</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

Order:&nbsp; <input name="Order_id" type="text" style="width: 52px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Date:&nbsp;&nbsp;
<input type="text" id="txtDate" onclick="fnPopUpCalendar(txtDate,txtDate,'mm/dd/yyyy')" style="width: 72px" name="Date"/>&nbsp;
<span class="style2">..&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SELECT name="Status" style="width: 78px; height: 22px">

                <OPTION value="Open" selected="">Open</OPTION>

                <OPTION value="In Progress">In Progress</OPTION>

                <OPTION value="Paid">Paid</OPTION>

                <OPTION value="Past Due">Past Due</OPTION>

                <option value="Cancelled">Cancelled</option>

                <option value="Closed">Closed</option>

            </SELECT>...............</span>&nbsp;<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;



    <br>



<TABLE id="dataTable0" width="350px" cellspacing="1" class="style5">

    <TR>

        <TD style="height: 32px" class="style1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</TD>

        <TD style="height: 32px" class="style1">&nbsp;</TD>

        <TD style="height: 32px" class="style1">&nbsp;</TD>

        <TD style="height: 32px" class="style1"><span class="style2">.. .</span>Qty<span class="style2">...</span></TD>

        <TD style="height: 32px" class="style1">

            <span class="style2">.......</span>Product<span class="style2">........</span></TD>

        <TD style="height: 32px" class="style1">

            <span class="style2">....</span>Category<span class="style2">....&nbsp;

            </span>

        </TD>

        <TD style="height: 32px" class="style1">

            <span class="style2"></span>blank<span class="style2"></span>&nbsp;

        </TD>

        <TD style="height: 32px" class="style1">

            <span class="style2">.</span>Price<span class="style2">.</span></TD>

        <TD style="height: 32px" class="style1">

            <span class="style2">...</span>Ship<span class="style2">..</span></TD>

        <TD style="height: 32px" class="style1">

            <span class="style2">..</span>Tax<span class="style2">...</span></TD>

        <TD style="height: 32px" class="style1">

                            <span class="style2">..</span>Total<span class="style2">...



</TABLE>



<TABLE id="dataTable" width="350px" cellspacing="1" class="style5">

    <TR><TD style="height: 32px"><INPUT type="checkbox" name="chk"/></TD>



                    <TD style="height: 32px"></TD>

        <TD style="height: 32px"></TD>

        <TD style="height: 32px">



        <INPUT type="text" name="Qty" style="width: 37px"/></TD>

        <TD style="height: 32px">



       <select name="Product" id="Product" style="width: 87px">

        <?php 

            $sql = "SELECT `Product`, `Product`  FROM  `Products` LIMIT 0, 30 ";

            $result=mysql_query($sql);

            while ($row = mysql_fetch_array($result)) {

                echo "<option value='" . $row['Product'] ."'>" . $row['Product'] ."</option>";

            }

        ?>

    </select>

<TD style="height: 32px">





<select name="Category" id="Category" style="width: 89px">

        <?php 

            $sql = "SELECT `Category`, `Category`  FROM  `Products` LIMIT 0, 30 ";

            $result=mysql_query($sql);

            while ($row = mysql_fetch_array($result)) {

                echo "<option value='" . $row['Category'] ."'>" . $row['Category'] ."</option>";

            }

        ?>

    </select>



</TD>







        </TD style="height: 32px">

    </TD>

        <TD style="height: 32px">

            <input name="Text2" type="text" style="width: 37px"></TD>

        <TD style="height: 32px">

            <input name="Price" type="text" style="width: 39px"></TD>

        <TD style="height: 32px">

            <input name="Ship" type="text" style="width: 42px"></TD>

        <TD style="height: 32px">

            <input name="Tax" type="text" style="width: 39px"></TD>

        </TD style="height: 32px">

            &nbsp;</TD>

        <TD style="height: 32px">

            <input name="Total" type="text" style="width: 50px"></TD>

    </TR>

</TABLE>



<br>



    <input type="submit" name = "Submit"/>

</form>









<br>



</html>
于 2013-03-29T06:23:36.380 に答える