我正在开发一个项目,我有3个输入字段,其中包含不同的名称值。例如:
<input type="text" name="name1">
<input type="text" name="name2">
<input type="text" name="name3">`
我将POST值存储在$name1, $name2 and $name3
中(例如)。
但我在数据库中只有一个字段说user_name
。我想要做的是将所有3个名称存储在同一个字段中作为逗号分隔值。我是PHP的新手,我听说它可以通过连接和内爆函数或其他东西来完成。但是我不知道这个过程。
答案 0 :(得分:3)
两者都可以连接implode()
。我会告诉你们两个:
级联:
$value = $_POST['name1'].",".$_POST['name2'].",".$_POST['name3'];
我们在数组上使用implode
函数,所以为了使用它,我们必须以数组格式制作表单元素,我们可以通过在名称中添加[]
来实现这一点:
<input type="text" name="name[]" />
<input type="text" name="name[]" />
<input type="text" name="name[]" />
现在在php:
$value = implode("," $_POST['name']);
因为您正在使用CakePHP:
<input type="text" id="Modelname0name" name="data[Modelname][0][name]">
<input type="text" id="Modelname1name" name="data[Modelname][1][name]">
<input type="text" id="Modelname1name" name="data[Modelname][2][name]">
然后在控制器方法中:
$value = implode("," $this->request->data['Modelname']['name']);
答案 1 :(得分:2)
我建议采取不同的方法
<input type="text" name="name[]" />
<input type="text" name="name[]" />
<input type="text" name="name[]" />
在PHP中执行以下操作:
// Convert array to string
$names = serialize($_POST['name']);
从数据库中检索日期时,您可以执行以下操作:
// In which $record->names is the result from your database
$names = unserialize($record->names);
答案 2 :(得分:0)
Array
(
[0] => zero
[1] => one
[2] => two
[3] => three
)
像这样使用连接。希望它有帮助!
答案 3 :(得分:0)
<?php
$name1 = "x";
$name2 = "y";
$name3 = "z";
$user_name = $name1 .", ". $name2 .", ". $name3;
$userNameArr = explode(',',$user_name);
echo $userNameArr[0];
echo $userNameArr[1];
echo $userNameArr[2];
?>
像这样添加和爆炸..... :)。