我有一个配置文件页面,用户可以在其中编辑他们的配置文件,我为他们提供了一个技能表单,他们可以在其中输入技能名称&你在其中完美程度的百分比->
Skill1 percentage 86% Add more
此添加更多按钮动态添加输入字段
所以现在,当我试图在这里保存这些数据时,我在$_POST 中得到了什么
$_POST['skill'];
$_POST['percentage'];
我试着把它们添加到数组中,这样我就可以把它保存到数据库中,但由于有多个动态字段,它变得一团糟;这是我在阵列中收到的
Array
(
[0] => Photoshop
[1] => 55%
[2] => PHP
[3] => 35%
)
我怎么能容易地知道这个百分比是这个技能
有时阵列看起来像
Array
(
[0] => 55%
[1] => Photoshop
[2] => PHP
[3] => 35%
)
那么,我如何将动态字段数据存储到数组中,以便以后可以正确地向用户显示
如果要传递多个值,则需要在表单中设置一个字段数组,例如:
<input type="text" name="skills[]">
<input type="text" name="percentage[]">
然后在您的php脚本中:
foreach($_POST['skills'] as $index => $value) {
$skills[$value] = $_POST['percentage'][$index];
}
假设技能和百分比是大小相同的数组。
使用您喜欢的数组格式:
<input name='skill[0]'>
<input name='percentage[0]'>
<input name='skill[1]'>
<input name='percentage[1]'>
这将为您提供两个索引匹配的数组,例如:
(
[skills] => Array
(
[0] => Photoshop
[1] => Word
)
)
和:
(
[percentage] => Array
(
[0] => 65%
[1] => 90%
)
)
然后,您可以使用array_combine($_POST['skills'], $_POST['percentage'])
来获得以下内容:
Array(
[Photoshop] => 65%
[Word] => 90%
)
您可以使用name='skill[]
和name='percentage[]
来动态创建它们,而不是使用数字索引,但如果您尝试使用复选框来创建它们,则不会像您想象的那样起作用。