对不起我的英语
我试着用2个数组说我的问题,一个数组是单维的,另一个是二维的
我需要从表单id语言发送,textarea的值...就像这样:
array(6) {
[0]=> array(1) { [1]=> string(9) "frequenza" }
[1]=> array(1) { [2]=> string(9) "frequency" }
[2]=> array(1) { [1]=> string(10) "disco duro" }
[3]=> array(1) { [2]=> string(9) "hard disk" }
[4]=> array(1) { [1]=> string(10) "processore" }
[5]=> array(1) { [2]=> string(9) "processor" } }
javascript为每种语言创建了新的输入文本,因此如果在数据库中有2个语言,则输入2个输入文本功能和1个值,如果有100个语言,则输入100个输入文本,总是1个值,但我们知道功能可以很多。
功能的第二个维度是这种方式的id语言有(feature [] []):
count array - id language - feature
array(3) {
[0]=> string(6) "3.2Ghz"
[1]=> string(5) "500Gb"
[2]=> string(8) "intel I7" }
而在val []数组中有:
id language | feature name | feature value
1 | frequenza | 3.2Ghz
2 | frequency | 3.2Ghz
1 | disco duro | 500Gb
2 | hard disk | 500Gb
1 | processore | intel I7
2 | processor | intel I7
我如何从2输入,1 bidimensiol和1 monodimensional得到这个结果?
foreach
foreach
我尝试(但没有):
foreach
foreach
foreach
foreach
foreach
foreach
foreach
foreach
foreach
CREATE TABLE dbo.Test(id INT, xml XML, OrderNumber VARCHAR(100));
这一切都是因为它是字段json中的一个插入 谢谢!!
答案 0 :(得分:2)
您需要在表单中交换[]
和['<?php echo $row['idlang']?>']
。你将拥有:
<input type="text" name="feature[1][]" >
<input type="text" name="feature[2][]" >
<input type="text" name="val[]">
<!-- 1 and 2 here are ids of a lang -->
之后,您将拥有2个不同的$_POST
数组:
val
feature
您可以像:
一样迭代它们foreach ($_POST['val'] as $k => $v) {
// check if current val is not empty:
if (!empty($v)) {
// get according words from `features`
// they will have the same key ($k) under idlang key
echo $_POST['feature'][1][$k]; // 1 is idlang
echo $_POST['feature'][2][$k]; // 2 is idlang
// after that you can do for example:
// insert into db [1, $_POST['feature'][1][$k], $v]
// insert into db [2, $_POST['feature'][2][$k], $v]
}
}