Php 如何将多个数据存储到一个数组中
我有一个个人资料页面,用户可以在其中编辑他们的个人资料,我为他们提供了一个技能表单,他们可以在其中输入技能名称和您在其中的完美程度百分比,如->Php 如何将多个数据存储到一个数组中,php,mysql,arrays,Php,Mysql,Arrays,我有一个个人资料页面,用户可以在其中编辑他们的个人资料,我为他们提供了一个技能表单,他们可以在其中输入技能名称和您在其中的完美程度百分比,如-> Skill1 percentage 86% Add more 此添加更多按钮动态添加输入字段 所以现在当我试图保存这些数据时,这里是我在$\u POST中得到的 $_POST['skill']; $_POST['percentage']; 我尝试将它们添加到数组中,以便将其保存到数据库中,但由于有多个动态字段,所以会变得混乱&下面是我在数组中收到
Skill1 percentage 86% Add more
此添加更多按钮动态添加输入字段
所以现在当我试图保存这些数据时,这里是我在$\u POST中得到的
$_POST['skill'];
$_POST['percentage'];
我尝试将它们添加到数组中,以便将其保存到数据库中,但由于有多个动态字段,所以会变得混乱&下面是我在数组中收到的内容
Array
(
[0] => Photoshop
[1] => 55%
[2] => PHP
[3] => 35%
)
我怎么能轻易地知道这个百分比是这个技能的一部分
有时数组看起来像
Array
(
[0] => 55%
[1] => Photoshop
[2] => PHP
[3] => 35%
)
那么,如何将动态字段数据存储到数组中,以便以后可以正确地向用户显示它使用您喜欢的数组格式:
<input name='skill[0]'>
<input name='percentage[0]'>
<input name='skill[1]'>
<input name='percentage[1]'>
以及:
然后,您可以使用array\u combine($\u POST['skills']、$\u POST['percentage'])
获得类似以下内容:
Array(
[Photoshop] => 65%
[Word] => 90%
)
您可以使用
name='skill[]
和name='percentage[]
动态创建它们,而不是使用数字索引,但是如果您尝试使用复选框来创建它们,它将不会像您所想的那样工作。如果要传递多个值,则需要在表单中设置字段数组,例如:
<input type="text" name="skills[]">
<input type="text" name="percentage[]">
假设技能和百分比是大小相同的数组。我猜这两个值在这两个
$\u POST
值中是分开的@Rizier123$_POST['skill'];获得技能名称&$\u职位['percentage'];只有百分比你是如何从客户端发送数据的?好了,那么你已经有了分离的值。如果你只使用name='skill[]'和name='percentage[]`也可以做到这一点,而且要简单得多,灵活得多。实际上我使用的是x editable plugin,它可以编辑输入字段,因此,所有请求都是单独发送的。您需要更新您的问题,包括如何创建/命名表单元素,数组的实际外观,以及您需要或认为需要什么。
Array(
[Photoshop] => 65%
[Word] => 90%
)
<input type="text" name="skills[]">
<input type="text" name="percentage[]">
foreach($_POST['skills'] as $index => $value) {
$skills[$value] = $_POST['percentage'][$index];
}