我是 PHP 新手,对数据库非常陌生,如果这是一个愚蠢的问题,请原谅我:
我在 PHP/MySQL 中构建了一个库存系统,允许某人(除其他外)将原材料添加到具有“Price_Per_Pound_In_Dollars”和“Pounds_In_Stock”列的表中。就目前而言,更新原材料的“Pounds-In-Stock”列必须手动完成,通过表格一次一个。
我现在想为包含制作产品所需步骤的食谱添加另一个数据库,以便可以一次更新多个原料的“Pounds_In_Stock”列。请看下图。
基本上有人会去一个表格,从下拉菜单中选择一个产品(通过执行 a 填充配方名称mysqli_query
),输入他们想要制作的加仑数,然后按提交。
配方表中的行包含生产一加仑该产品所需的数字,因此表中的所有数字都将乘以输入表格中的数字。
因此,如果有人选择“配方名称 1”并在加仑输入框中输入“2”。它将“Pounds_Needed_Per_Gallon”乘以 2 并将该信息放入 amysqli_query
中以将其从“Raws”表中正确的原始“Pounds_In_Stock”列中删除。(如果这是有道理的)。
现在我的问题:
是否可以动态执行此操作?我是以错误的方式接近这个吗?我知道我可以通过硬编码 PHP 文档中每个配方的值并通过表单页面上的“action =”链接到它来获得我想要的结果,但这似乎是一种非常不雅的做事方式。我似乎无法理解如何使用 MySQL 来做到这一点。
表格问题:
我创建了一个简单的表单,它应该在下拉菜单中包含表名(以便可以选择配方表)。但我似乎无法让表名在下拉列表中回显。我知道while循环工作正常,因为下拉菜单中有三个选项,对应于数据库中的表数,唯一的问题是它们是空白的。请参阅下面的图像和代码。我查看了我的代码几次,但看不到我在哪里犯了错误。有任何想法吗?
<?php
//Prepare MySQL Query.
$Product_Menu_Query ="SHOW TABLES";
$Run_Product_Menu_Query = mysqli_query($Connect, $Product_Menu_Query);
?>
<form action="submit.php" method="POST">
<span>Recipe Name:</span><br>
<select name="recipe">
<?php //Populates dropdown with Product_Name from database.
while ($row = mysqli_fetch_array($Run_Product_Menu_Query)) {
echo '<option value="' . $row[0] . '">' . '</option>';
}
?>
</select><br><br>
<span>Gallons:</span><br>
<input type="number" name="gallons"><br><br>
<input type="submit" value="Submit">
</form>
表格截图: