以下は、html、javascript、php、および mysql がどのように相互作用するかを学ぶために取り組んできた注文フォームです。
https://www.dropbox.com/s/7zpok07w1bygu60/Screen%20Shot%202012-08-12%20at%2010.28.41%20AM.png
このテーブルの目的は、ユーザーが数量フィールドに数値を入力することです。変更すると、javascript がその特定の製品の総コストを自動的に更新します。キッカーは、リストに mysql データベース テーブルからデータを入力することです。
これが私が使用しているhtml、javascript、およびphpコードです。
HTML
<table>
<tr>
<td>
Product
</td>
<td>
Description
</td>
<td>
Quantity
</td>
<td>
Price
</td>
<td>
Total Cost
</td>
</tr>
<?php include("pop_prodlist.php"); ?>
<tr>
<td>Totals</td>
<td></td>
<td>TotalQuantity</td>
<td></td>
<td>TotalCost</td>
</tr>
</table>
PHP
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['P_Name'] . "</td>";
echo "<td>" . $row['P_Description'] . "</td>";
echo "<td>
<input type='text' size='3' name='" . $row['P_Name'] . "_Quantity'
onChange='calcCost()'/>
</td>";
echo "<td>" . $row['P_Cost'] . "</td>";
echo "<td id='" . $row['P_Name'] . "_Cost'>0.00</td>";
echo "</tr>";
}
Javascript calcCost() 関数
function calcCost()
{
var theForm = document.forms['productform'];
/*
COMMENTED OUT FOR TIME BEING
var pquan = theForm.elements[productname + '_Quantity'].value;
var costperquan = '15.99';
var ptotalcost = costperquan * pquan;
*/
var divobj = document.getElementById('Basketball_Cost');
divobj.innerHTML = "helloworld";
}
私が現在抱えている問題は、mysqlクエリから決定された製品名に応じて、phpスクリプトエコーからjavascript関数calcCostに一意の引数を配置する方法がわからないことです。
また、自分自身を教育するために、より良い解決策がどのようになるか/どのように見えるかについて興味があります. これが問題に対する最もエレガントな解決策であるとは思えず、より良い解決策を見つけたいと思っています。