人力検索の質問に関する私信
この記事は、以下の質問に関する私信です。
http://q.hatena.ne.jp/1270135055
id:aiomockさん
遅くなりまして申し訳ありません。
コメントにて修正を投稿しましたのでご確認ください。
一応変更後の「kakunin.php」を日記に記載しておきます。
丸ごとコピーしてそのまま使用できますので、良かったら記事の方をご覧ください。
変更後の「kakunin.php」
<? session_start(); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>カート確認・変更</title> <script type="text/javascript"> <!-- function selChange(sel, ptxt, sum){ var element = document.getElementById(sel); var num = element.selectedIndex; var price = document.getElementById(ptxt); var sumtxt = num * price.innerHTML; var sumprice = document.getElementById(sum); sumprice.innerHTML = sumtxt; var subt = document.getElementsByName("sumval"); var allsum = 0; for (var n=0;n<subt.length;n++) { var goukei = new Array(); var selname = 'mySum'+(n+1); var elm = document.getElementById(selname); goukei[n] = elm.innerHTML; allsum += parseInt(goukei[n]); } var allsumprice = document.getElementById("sougoukei"); allsumprice.innerHTML = allsum; } //--> </script> </head> <body> <div> <?php echo "<table border=\"1\" bordercolor=\"black\" cellspacing=\"0\" cellpadding=\"3\">\r\n<tbody>\r\n"; echo "<tr>\r\n<td bgcolor=\"yellow\">写真</td>\r\n<td bgcolor=\"yellow\">タイトル</td>\r\n<td bgcolor=\"yellow\">値段</td>\r\n <td bgcolor=\"yellow\">個数</td>\r\n<td bgcolor=\"yellow\">金額</td>\r\n<td bgcolor=\"yellow\">削除</td>\r\n</tr>\r\n"; require "database_connect.php"; $kanri_no = $_POST["kanri_no"]; $_SESSION["cart"]["$kanri_no"] = $_POST["kosuu"]; if($_POST["kosuu"] == "0" || $_POST["delete"]){ unset($_SESSION["cart"][$kanri_no]); } $fnum = 0; $n = 0; // 追加 foreach ($_SESSION["cart"] as $kanri_no => $kosuu){ if($kosuu != 0) { $fnum++; $fname = 'myForm'.$fnum; $selname = 'mySel'.$fnum; $ptxtname = 'myPrice'.$fnum; $sumname = 'mySum'.$fnum; $n++; echo "<tr>\r\n<td><form id=\"$fname\" name=\"$fname\" action=\"kakunin.php\" method=\"POST\">"; $sql = "select * from TEST WHERE PRODUCT_NAME = '".$kanri_no."'"; $result = mysql_query($sql); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { // 写真 // 価格もここで変数に入れておきます。 echo $picture = $row["PICTURE"]; $price = $row["PRICE"]; } // 合計を配列に代入。 $sum[$n] = $price * $kosuu ; //タイトル echo "</td>\r\n<td>".$kanri_no."</td>\r\n"; //値段 echo "<td><span id=\"$ptxtname\">$price</span><input type=\"hidden\" name=\"kanri_no\" value=\"$kanri_no\"></td>\r\n"; //個数 $html = "<td><select name=\"kosuu\" id=\"$selname\" onchange='selChange(\"$selname\", \"$ptxtname\", \"$sumname\")'>\r\n"; $html .= "<option selected>$kosuu</option>\r\n"; $html .= "<option value=\"1\">1</option>\r\n"; $html .= "<option value=\"2\">2</option>\r\n"; $html .= "<option value=\"3\">3</option>\r\n"; $html .= "<option value=\"4\">4</option>\r\n"; $html .= "<option value=\"5\">5</option>\r\n"; $html .= "<option value=\"6\">6</option>\r\n"; $html .= "<option value=\"7\">7</option>\r\n"; $html .= "<option value=\"8\">8</option>\r\n"; $html .= "<option value=\"9\">9</option>\r\n"; $html .= "</select>\r\n</td>\r\n"; echo $html; //金額 echo "<td><input type=\"hidden\" name=\"sumval\" value=\"$sum[$n]\"><span id=\"$sumname\">$sum[$n]</span></td>\r\n"; //削除ボタン echo "<td><input type=\"submit\" name=\"delete\" value=\"削除する\"><br>\r\n"; echo "<input type=\"submit\" name=\"submit\" value=\"変更する\"></form></td>\r\n</tr>\r\n"; } } // 総合計金額の計算 if($sum) { foreach($sum as $value) { $goukei += $value; } } echo "<tr>\r\n<td align=\"right\" colspan=\"6\"><b>合計金額:<font color=\"red\" size=\"+2\"><span id=\"sougoukei\">$goukei</span></font><font size=\"+2\">円</font></b></td>\r\n"; echo "</tr>\r\n</tbody>\r\n</table>\r\n"; $html = "<div>\r\n"; $html .= "<table height=\"40\" border=\"0\" valign=\"center\">\r\n"; $html .= "<tr>\r\n"; $html .= "<td valign=\"center\"><a href=\"http://www.aiomock2008.sakura.ne.jp/TEST/test2.php\">引き続き商品を購入する</a></td>\r\n"; $html .= "<td valign=\"center\"><form method=\"POST\" action=\"kakunin2.php\"> <input type=\"submit\" name=\"kara\" value=\"カートを空にする\"></form></td>\r\n"; $html .= "<td valign=\"center\"><form method=\"POST\" action=\"kakunin3.php\"> <input type=\"submit\" name=\"kounyuu\" value=\"購入する\" onClick=\"return confirm('本当にボタンを押しますか?')\"></form></td>\r\n"; $html .= "</tr>\r\n</table>\r\n</div>\r\n"; $html .= "</div>\r\n</body>\r\n</html>\r\n"; echo $html; ?>