前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHPを勉強して1ヶ月ほどのものです。
シンプルな在庫管理システムを作成したいです。
プルダウンでショップ名、商品とその個数を選択すると、データベース上の在庫から選択された分の個数だけ引くようにしたいです。同様に、売れた商品の売上もデータベース上に反映させたいです。
MySQLにはテーブル「customer」と「goods」があります。
[customer]
●C_ID -> ショップのIDです。
●C_Name -> ショップの名前です。
●C_URIAGE -> ショップの売上です。
[goods]
●G_ID -> 商品のIDです。
●G_Name -> 商品の名前です。
●G_ZAIKO -> 商品の在庫です。
●G_Price -> 商品の値段です。
該当のソースコード
PHP
1<!doctype html> 2<html> 3<head> 4<meta charset="utf-8"> 5<title>在庫管理システム</title> 6</head> 7<body> 8<?php 9 $conn = mysqli_connect("******","******","******","******") or die("失敗です"); 10 mysqli_set_charset($conn,"utf8"); 11 //print "接続成功<br><br>"; 12 13 $sql1="SELECT * FROM customer"; 14 $sql2="SELECT * FROM goods"; 15 if($result1 = mysqli_query($conn, $sql1)) { 16 $i = 0; 17 while($row1 = mysqli_fetch_array($result1)) { 18 $id1[$i] = $row1['C_ID']; 19 $shop[$i] = $row1['C_Name']; 20 $i++; 21 } 22 } 23 else { 24 echo "クエリが実行できませんでした。\n"; 25 mysqli_close($conn); 26 exit(); 27 } 28 echo "<form name=\"frm\" method=\"post\" action=\"sample.php\">\n"; 29 echo "商店名 "; 30 echo "<td><select name=\"shopN\">\n"; 31 $i = 0; 32 while($i < count($shop)) { 33 if($row1['C_ID'] == $C_ID[$i]) 34 echo "<option value=\"{{$row1['C_ID']},{$C_ID[$i]},{$shop[$i]}\" selected>{$shop[$i]}</option>\n"; 35 else 36 echo "<option value=\"{{$row1['C_ID']},{$C_ID[$i]},{$shop[$i]}\">{$shop[$i]}</option>\n"; 37 $i++; 38 } 39 echo "</select></td></tr>\n"; 40 41 42 43 if($result2 = mysqli_query($conn, $sql2)) { 44 $i = 0; 45 while($row2 = mysqli_fetch_array($result2)) { 46 $id2[$i] = $row2['G_ID']; 47 $goods[$i] = $row2['G_Name']; 48 $zaiko[$i] = $row2['G_ZAIKO']; 49 $price[$i] = $row2['G_Price']; 50 51 //$goods[$i] = str_replace(',', '', $goods[$i]); 52 echo $goods[$i]; 53 $i++; 54 } 55 } 56 else { 57 echo "クエリが実行できませんでした。\n"; 58 mysqli_close($conn); 59 exit(); 60 } 61 echo "<br>商品名 "; 62 echo "<td><select name=\"goodsN\">\n"; 63 $i = 0; 64 while($i < count($goods)) { 65 if($row2['G_ID'] == $G_ID[$i]) 66 echo "<option value=\"{$row2['G_ID']},{$G_ID[$i]},{$goods[$i]}\" selected>{$goods[$i]}</option>\n"; 67 else 68 echo "<option value=\"{$row2['G_ID']},{$G_ID[$i]},{$goods[$i]}\">{$goods[$i]}</option>\n"; 69 $i++; 70 } 71 echo "</select></td></tr>\n"; 72 73 74 echo "<br>個数 "; 75 echo "<td><select> name= \"h\">\n"; 76 $i = 0; 77 $num = $i; 78 while($i < 1000) { 79 if($row2['G_ZAIKO'] == $G_ZAIKO[$i]) 80 echo "<option value=\"{$num}\">{$num}</option>\n"; 81 $i++; 82 $num = $i; 83 } 84 echo "</select></td></tr><br><br>"; 85 86 echo " <input type=\"submit\" value =\" 確認ボタン \">"; 87 echo "</form>\n"; 88 89 mysqli_close($conn); 90?> 91 92</body> 93</html>
質問・聞きたいこと
①プルダウンで選択された商品の価格を取得するためにはどのような記述が必要でしょうか?
②次のように記述すると、例えば商品の「鉛筆」を選択した場合、「,,鉛筆」のようにカンマが2個表示されます。なぜでしょうか?
php
1<?php 2 $a = $_POST["shopN"]; 3 $b = $_POST["goodsN"]; 4 if(isset($a) && isset($b)) { 5 print("<br>".$b); 6 } else { 7 print("error"); 8 } 9?>