0

OK、Web ベースの在庫システムとして機能する php ファイルのコレクションがあります。アイテムを検索してリストから選択すると、以前に選択したアイテムの現在の数量を表示するページが表示されます。同じページで、javascript を使用して、現在の数量値を加算または減算します。現在の数量テキストボックスで更新された値を取得し、MySQL で更新できるようにしたいと考えています。

検索ページで選択した金額によって、表示される件数が異なりますのでご注意ください。

以下は、ユーザーが数量値を加算または減算できる更新ページです。

<html>
<title>Update Selections</title>
<body>
<?php
    include("menu.php");
    include("sqlconnect.php");


?>
<script type="text/javascript">
/*<![CDATA[*/

function add(obj,ud){
 while (obj.parentNode){
  if (obj.nodeName.toUpperCase()=='TR'){
   obj=obj.getElementsByTagName('INPUT')[0];
   break;
  }
  obj=obj.parentNode;
 }
 if (obj.nodeName.toUpperCase()=='INPUT'){
  obj.value=Math.max(obj.value*1+ud,0);
 }
}


/*]]>*/
</script></head>


<p align="center"><b>Make Updates:</b>
<br />
<br />
The following items were selected for quantity update:
<br />
<br />
<table border="1">
<tr><th>Item:</th>
<th>QUANTITY</th>
<th>ADD/SUBTRACT</th></tr>
<style>
textarea {resize: none;}
</style>
<form action="updatequantityprocess.php" method="post">
<?php

        //$row_id = $_POST['itemselect'];
        foreach ($_POST['itemselect'] as $confirm)
        {

            $result = mysql_query("SELECT * FROM inventory WHERE id='$confirm'");
            while ($row = mysql_fetch_array($result))
            {
                echo "<tr><td>" . $row['Item'] . "</td>";
                echo "<td bgcolor='grey'><input type='text' id='value' name='itemupdate[]' disabled='disabled' style='text-align: center' value='" . $row['QuaninInventory'] . "'><input type='hidden' value='" . $row['id'] . "' name='itemid[]'></td>";
                echo "<td><div align='center'><input type='button' value='+' onclick='add(this, 1)'><input type='button' value='-' onclick='add(this, -1)'></div></td></tr>";

            }
        }
        echo "</table>";
?>
<br />
<br />
<input type="submit" value="Update">
<br />
<INPUT TYPE="BUTTON" VALUE="<-- Back to Results" ONCLICK="window.location.href='http://localhost/Inventory/quantitybybrandprocess.php'">
</p>
</form>
</body>     
</html>

との配列をquantityupdateprocess.php使用して、MySQL データベースで選択された項目を更新する次のページ を作成する方法がわかりません。itemupdate[]item[]

4

2 に答える 2

1

foreach ループですべての itemid をループし、それぞれを個別に更新します。

foreach($_POST["itemids"] as $itemid){
    //Do mysql update based on other fields (make sure to escape itemid, and the other fields as well, or even better use prepared statements).
}

現在のアイテムの数量にアクセスするには、次のようにします。

foreach($_POST["itemids"] as $i=>$itemid){
    //do mysql updates where $_POST["itemupdate"][$i] is the item update for the item id.
}
于 2012-06-27T07:11:19.163 に答える