對於我的第一次編程嘗試,我使用php和MySQL製作一個簡單的webapp,輸入客戶信息並存儲訂單信息。一次從兩張表中讀取信息到兩種形式
到目前爲止,我已經制作了一個表格來輸入客戶信息,一個頁面來編輯信息和另一個頁面來顯示不同的客戶,這一切都工作正常。
但是,在嘗試實施下一個階段時,我遇到了一個殘端。
我有一個包含3列的editcustomers頁面。
- 第1列顯示了一個包含客戶信息的表單,允許它編輯 。
- 第2列允許訂購產品並顯示訂購了多少產品
- 第3列顯示迄今爲止支付的總額以及欠款總額。
這個頁面的代碼,我現在:
<html>
<?php
$id = $_GET['id'];
require_once('connect.php');
$sth = $dbh->query("SELECT * FROM customers where id = '$id'");
$sth->setFetchMode(PDO::FETCH_ASSOC);
?>
<div id="main">
<div id="left">
<form name="myForm" action ="process.php" method ="post" >
<?php while($row = $sth->fetch()){ ?>
<p><input type = "hidden" name ="id" value="<?php echo $row["id"] ?>"/>
<p><input type = "text" name ="firstName" size ="30" value=" <?php echo $row["firstName"]?>"/>
<p><input type = "text" name ="lastName" size ="30" value="<?php echo $row["lastName"]?>"/>
<p></p>
<input type="submit" value="Update" />
<?php }?>
</div>
<div id="mid">
<p>Amount owed<br />
<input type = "text" name ="moneyOwed" size ="30" /></p>
<input type="submit" value="Pay" />
<p>Number of aaaa<br />
<input type = "text" name ="numAaa" size ="30" /></p>
<p>Number of bbbb<br />
<input type = "text" name ="numBbb" size ="30" /></p>
<p>
<input type="submit" value="Update" />
</div>
<div id="right">
<b>Total Balance</b>
<p> Money owed: </p>
<p> aaa total: </p>
<p> bbb total: </p>
<p> Total: </p>
<input type = "text" name ="pay" size ="20" /></p>
<input type="submit" value="Make Payment" />
</div>
<?php
$dbh =null;
?>
</body>
</html>
我有以下的數據庫結構:
- 一個客戶表,就像名字的基本信息,姓氏等一起一個id字段。
- 一個產品表,列出不同的產品,只有1行包含每個產品的成本。
- 一個採購表中,帶有ID字段,如numProductA,numProductB領域,顯示出每個產品的訂購數量
我遇到的問題是,在我的editcustomerspage,我有一個數據庫查詢閱讀從客戶表中填入信息,填寫第一欄中表單中的字段以及單獨的查詢以更新它,如果選擇了該功能。
更新第二個表單應該是好的,因爲我可以使用隱藏字段來區分表單,但是我不確定如何從Customers表和Purchase表中讀取信息,以便可以填充我的字段第二種形式。
部分問題是,如果客戶尚未下訂單,則給定客戶的購買表可能爲空。
我正在考慮擺脫購買表,並將字段添加到用戶表,這將解決我的問題,但我認爲這通常被認爲是不好的做法?
該產品將被固定在應用程序中,並且不會改變。即便如此,列名稱和名稱以及每個產品作爲記錄是否還會更好?
我可以採取哪些方法解決這個問題?
我希望這個問題對本網站不太寬泛,如果問題不恰當,我很抱歉。 –