【发布时间】:2021-05-11 21:19:52
【问题描述】:
我的 HTML 表单,由 PHP 从 MySQL 数据库生成: `
<!-- 1st product -->
<input name="product[]" value="Speaker" />
<!-- 3 components & its values of 1st product -->
<input name="component_name[]" value="Color" />: <input name="value_name[]" value="Black" />
<input name="component_name[]" value="Diameters" />: <input name="value_name[]" value="10" />
<input name="component_name[]" value="Brand" />: <input name="value_name[]" value="Pokijan" />
<!-- 2nd product -->
<input name="product[]" value="Desktop PC" />
<!-- 6 components & its values of 2nd product -->
<input name="component_name[]" value="Brand" />: <input name="value_name[]" value="Tulkiyem" />
<input name="component_name[]" value="OS" />: <input name="value_name[]" value="Linux" />
<input name="component_name[]" value="Processor" />: <input name="value_name[]" value="Intel " />
<input name="component_name[]" value="RAM" />: <input name="value_name[]" value="16 GB" />
<input name="component_name[]" value="HDD" />: <input name="value_name[]" value="-" />
<input name="component_name[]" value="SSD" />: <input name="value_name[]" value="1600 GB" />
<input type="submit" value="Send" />
</form>`
条件:
- “Speaker”、“Desktop PC”这些词取自mysql产品类别表
- “颜色”、“直径”、“品牌”、“内存”等词取自产品组件表
- 我想在每个产品/类别下创建无限的组件及其价值
- 我想将表单数据发布到 2 个不同的 MySQL 表中:transaction 和 transaction_components。
问题是,(使用 PHP):
- 如何将它全部发布到这样的正确数组中(认为我是对的):
$product=array("Speaker"=> ["color"=>"Black", "Diameters"=>"10", "Brand"=>"Pokijan"], "Desktop PC"=>["Brand"=>"Tulkiyem", "OS"=>"Linux", "Processor"="Intel", "RAM"=>"16 GB", "HDD"=> "-", "SSD"=>"1600 GB"]);或 - 显示数据如下:
`
- 演讲者:
- 颜色:黑色
- 直径:10
- 品牌:Pokijan
- 台式电脑
- 品牌:Tulkiyem
- 操作系统:Windows
- 处理器:英特尔
- 内存:16 GB
- 硬盘:-
- 固态硬盘:1600 GB
- 演讲者:
这对我不起作用: `
$cid=$_POST['cid'];
$komponen=$_POST['komponen'];
$opsi=$_POST['opsi'];
echo "<ul>";
$jb=count($cid);
for($i=0; $i<$jb;$i++)
{
if($cid[$i]<>"")
{
$jk=count($komponen);
echo "<li>Product-$i: $cid[$i]
<ol>";
for($x=0;$x<$jk; $x++)
{
echo "<li>$komponen[$x]: $opsi[$i][$x]</li>";
}
echo "</ol></li>";
}
}
echo "</ul>";
?>`
【问题讨论】:
-
对你来说什么是“正确的数组”?你期望的输出是什么?
-
已编辑问题。谢谢
-
Color、Brand等是输入似乎很奇怪。难道不应该对它们进行硬编码,并且只将它们的值创建为输入吗? -
是的,这些变量是动态的,所以值是。
标签: php arrays forms multidimensional-array