ここで別の(基本的な)質問です。PHP を使用して mysql クエリの結果をフィルタリングするために、html フォームを使用する方法を知る必要があります。私は w3schools を見てきましたが、あるページで $_POST を使用すると別のページに出力できることがわかります。しかし、 $_POST をクエリに入れる方法が正確にわかりません。たとえば、次のようなページがあります。
<form action="orderlist.php" method="post">
OrderNo: <input type="int" name="order_no" />
<input type="Submit" />
</form>
これは、ユーザーが order_no を入力して送信をクリックできるページで、「orderslist.php」ページにリンクしています。そのページには、次のコードがあります。
$result = mysql_query("SELECT * FROM orders");
echo "<table border='5'>
<tr>
<th>order_no</th>
<th>ord_date</th>
<th>est_completion_date</th>
<th>status</th>
<th>invoice_date</th>
<th>inv_amount</th>
<th>name</th>
<th>fName</th>
<th>lName</th>
</tr>";
// -- Use 'while' to check each row in $result in turn:
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['order_no'] . "</td>";
echo "<td>" . $row['ord_date'] . "</td>";
echo "<td>" . $row['est_completion_date'] . "</td>";
echo "<td>" . $row['status'] . "</td>";
echo "<td>" . $row['invoice_date'] . "</td>";
echo "<td>" . $row['inv_amount'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['fName'] . "</td>";
echo "<td>" . $row['lName'] . "</td>";
echo "</tr>";
}
echo "</table>";
これにより、「注文」からすべてがテーブルに出力されますが、前のページでユーザーが入力した order_no の行のみを出力したいと考えています。どうすればいいですか?それは次のようなものですか:
$result = mysql_query("SELECT * FROM orders WHERE order_no = $_POST[order_no]");
どうもありがとうございます