Concat数据和存储在数据库中

时间:2016-04-25 12:53:01

标签: php html mysql

我正在开发一个项目,我有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的新手,我听说它可以通过连接和内爆函数或其他东西来完成。但是我不知道这个过程。

4 个答案:

答案 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];

?>

像这样添加和爆炸..... :)。

相关问题