私は、ユーザが望む特定の製品の数(数量)を保持するダイナミックに生成されたテキストボックスのセットを持っています。私はphp/mysqlを使って正しい番号を反映させるために、ユーザがテキストボックス内の数字を変更できるようにする機能を組み込もうとしています。私は、ユーザーが前のページから入力した現在の数量を引き出すコードを以下に示しますが、現在のページからの量の変更をどのように組み込むかわかりません。私はUPDATEを使用しなければならないと仮定していますが、特定の製品(または行)のみに含める方法はわかりません。動的に生成されたテキストボックスのリストからのデータを使用してmysqlデータベースを更新する正しい方法は何ですか?
@$link = $_GET['link'];
$price = $_GET['price'];
$title = $_GET['title'];
$retailer = $_GET['retailer'];
$options = $_GET['options'];
$quantity = $_GET['quantity'];
$session = session_id();
$_SESSION['sess_var'] = $session;
mysql_query("INSERT INTO sessionid (sessionid, link, retailer, price, title, qt, options) VALUES('$session' , '$link', '$retailer', '$price', '$title', '$quantity', '$options') ");
$query = "SELECT * FROM `sessionid` WHERE `sessionid` = '$session' ";
$result = mysql_query($query) or die(mysql_error());
echo '<table class="table"><tbody><form action = "viewcart.php" method = "get">';
$subtotal = 0;
$i=1;
while($row = mysql_fetch_assoc($result)) {
echo '<tr><td></td><td><h3>' . $row['title'] . '</h3></td><td>' . $row['options'] . '</td><td><div class="span3 offset1"><input type="text" name="box[' . $i . '] "value="' . $row['qt'] . '" class="span1"> <input type="submit" class="btn" value = "Refresh"> <h4> $' . $row['price'] . '</h4></td></tr>';
$i++;
$prodtotal= $row['qt'] * $row['price'];
$subtotal= round($subtotal+ $prodtotal, 2);
$_SESSION['subtotal']=$subtotal;
}
echo '</form></tbody></table>';
あなたの質問は本当に理解できません。詳しく説明できますか? – MahanGM
私は、ユーザーがテキストボックスにどのような量の製品をそれぞれ指定し、mysqlデータベースを更新してから適切な数量でページを更新するようにしたいと思っています。これは役に立ちますか? – sharataka
私はそれを得た。あなたがこれをやりたいのは、AJAXが必要です。ところで、なぜあなたはページを更新する必要がありますか?あなたが言っているように、これらの種類の行為はすべてのユーザー入力の後に完了するはずです。そのため、MySql表を更新する理由はわかりません。基本的には、ユーザーが数量を変更してからサーバー側のPHPファイルにAJAXリクエストを送信し、各製品価格を返すためのMySqlテーブルを取得してから、結果を取得してリフレッシュせずにページに表示することができます。 'jQuery' JavaScriptライブラリを使ってAJAXを使いやすくすることをお勧めします。 http://api.jquery.com/jQuery.ajax/ – MahanGM