【发布时间】:2013-07-29 19:40:39
【问题描述】:
我正在尝试准备一个循环,它将下面表单字段中的数据存储为一个变量,然后我可以使用它来根据这些数据创建一个新的动态表单。
流程示例:
1. jquery在弹出的iframe中提交隐藏表单(完成)
2. PHP 从 iframe 中的隐藏表单循环 POST 并在当前弹出 iframe 中作为新表单输出。
3. 用户选择他们希望提交到数据库的字段。提交表单。
4.增加数据库入口
5. 从当前 iframe 中删除选定的字段。未选择任何内容。
我被困在代码的循环部分,我需要一个有效的解决方案,让我可以循环 POST 并输出用户可以提交的新表单。
我知道有很多问题要问,但任何帮助都会很棒,我一直把头撞在墙上试图弄清楚如何做到这一点。 :(
谢谢, 史蒂夫
附言。有时会有 10 个字段,有时会有 2 个......这完全取决于创建 iframe 时页面上的内容。但是每个字段的数量总是相同的。就像我在下面的字段示例中一样。
字段示例(全部隐藏)
<input type="hidden" id="data[]" name="data[]" value="SOMETHING HERE">
<input type="hidden" id="data[]" name="data[]" value="SOMETHING BLAH BLAH">
<input type="hidden" id="data[]" name="data[]" value="BLAH BLAH SOMETHING">
<input type="hidden" id="info[]" name="info[]" value="MY INFO HERE">
<input type="hidden" id="info[]" name="info[]" value="RANDOM INFO HERE">
<input type="hidden" id="info[]" name="info[]" value="MORE INFO">
<input type="hidden" id="img[]" name="img[]" value="http://example.com/img2.gif">
<input type="hidden" id="img[]" name="img[]" value="http://example.com/someimage.jpg">
<input type="hidden" id="img[]" name="img[]" value="http://example.com/myimage.png">
<input type="hidden" id="title[]" name="title[]" value="Item title goes here">
<input type="hidden" id="title[]" name="title[]" value="Item title goes here ">
<input type="hidden" id="title[]" name="title[]" value="Item title goes here">
我尝试过的我的 PHP 循环:
foreach ($_POST['data'] as $data=>$val){
echo "$data: $val <br />";
}
foreach ($_POST['info'] as $info=>$val){
echo "$info: $val <br />";
}
foreach ($_POST['img'] as $img=>$val){
echo "$img: $val <br />";
}
foreach ($_POST['title'] as $title=>$val){
echo "$title: $val <br />";
}
示例 PHP 输出
0: €29.16
1: €34.46
2: €34.46
3: €63.62
4: €53.02
5: €10.60
6: €42.42
0: ../img1.gif
1: ../img2.jpg
2: ../img3.jpg
3: ../img4.png
4: ../img5.gif
5: ../img6.jpg
6: ../img7.jpg
etc...
需要如何以新形式构建输出的示例:
Item 1 Item 2 item 3 item 4
Title0 title1 title2 title3
info0 info1 info2 info3
img0 img1 img2 img3
data0 data1 data2 data3
checkbox checkbox checkbox checkbox
SUBMIT BTN
【问题讨论】:
-
本质上,你的循环被
var_dump's 美化了。老实说,我没有看到任何构建输出的尝试,更不用说以符合所需输出的方式构建它,也没有指定 生成该输出的原因 不起作用你(描述具体问题) -
OO 会很好地解决您的问题。如果你想走程序化的道路,你需要一点“hack”。您必须模拟实体...查看 yones safari 的答案以获得简单的解决方案。不过,我宁愿使用一些更复杂的方法......
-
@EliasVanOotegem -
var_dump不提供复选框和提交按钮。 -
@PédeLeão:不,但 OP 发布的代码也没有:
echo "$data: $val <br />";实际上与echo "$data => $val, <br />";相同,在循环前后添加echo 'array (', count($_POST['data']), ') {<br/>';,您必须承认:很相似,不是吗?
标签: php