私はドアを出入りする機器を追跡するための簡単な在庫システムを作っています。目録はMYSQLに格納され、テーブルは次のようになります。id name storage used location_storage locationPHP変数を使用したドロップダウンリストに基づいて入力フィールドを追加
PHPで簡単なフォームを作成すると楽しいゲームです。すべての値を問題なく更新できます。
簡潔にするために、フォームで入力フィールドを作成/表示するボタンが付いたドロップダウンメニューを探しています。その理由は、今後の予定で私のテーブルに多くの行があることです。以前のフォームはサーバー情報から作成されているので、スクリプトも動的にする必要があります。今私は何をすべきか考えている。今のよう
、ビットのための私のコードは次のようになります。(チェックアウト+の変更を除いて同一である
<form action="<?php $_PHP_SELF ?>" method="POST">
<?php
//conn stuff
$sql = "SELECT id, name, storage, used, location FROM inventory";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo ' ' . $row["id"]. ' ' . $row["name"]. '<input type="text" name="newamount[' . $row["id"]. ']" />';
echo '<br>';
}
} else {
echo "0 results";
}
$conn->close();
?>
<input type="submit" name="checkout" value="Check out"/>
<input type="submit" name="checkin" value="Check in"/>
</form>
チェックPHPで:
"静的" PHPフォームマイナス):
if(isset($_POST['sjekkinn'])){
//conn stuff
mysql_select_db('experimental');
$newamount = $_POST['newamount'];
foreach($newamount as $key => $value){
$sql = "UPDATE inventory ". "SET storage = (storage + $value), used = (used - $value)". "WHERE ID = $key " ;
if (empty($value)) continue;
$retval = mysql_query($sql, $conn);}
if(! $retval) {
die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully!<br>";
header("Refresh:1");
mysql_close($conn);
}
これらはすべての偉大な作業しているが、私はタラのようなものを使用したいと思います下のeはちょっとした設定です...誰でも助言がありますか? MYSQLから生成
ドロップダウンリスト:は
<form action="#" method="post">
<select name="selectinventory">
<?php
//conn stuff
$sql = "SELECT * FROM inventory";
$result = $conn->query($sql);
while ($row = $result->fetch_array()){
echo '<option value="' . $row["id"]. '">' . $row['name'] . '</option>';
}
?>
</select>
<input type="submit" name="submit" value="Add line">
</form>
問題は何ですが? –
不明です.....! –
2つの上部コードボックスの使用をやめ、ドロップダウンリストを使用してフォームに表示したい行を選択します。今のフォームは "静的に" phpで作られています。 これは、選択に基づいて入力フィールドを挿入したいということです。並べ替えの例が見つかるかどうかを調べます。 –