将具有相同名称的多个输入插入一个数组[row](以“^”分隔)

时间:2012-04-08 07:59:46

标签: php mysql

我有多个输入(从不相同,因为它是一个动态添加/删除jquery脚本,并且它完全取决于用户想要输入多少“轨道”)。我永远都不知道会有多少人在那里。以下是用户选择将四个“曲目”添加到其“mixtape”的示例。

<input size="32" class="mixtapetrack" type="textbox" id="track[1]" name="track[]" >
<input size="32" class="mixtapetrack" type="textbox" id="track[2]" name="track[]" >
<input size="32" class="mixtapetrack" type="textbox" id="track[3]" name="track[]" >
<input size="32" class="mixtapetrack" type="textbox" id="track[4]" name="track[]" >

当表单被提交(PHP POSTED)时,我想获取所有输入并将它们组合成一个数组,但是通过“^^^”将它们全部分开。


这是我到目前为止,用于渲染输入(不工作)。

$trackVAR = $_POST['track'];

         $allmixtapetracks = "";

         foreach ($trackVAR as $value) {

    $allmixtapetracks .= '' . $value . '^';
  }

这就是我用来插入我的表格(WORKS,没有变量测试它并输入absoloute数据)

$sql = mysql_query("INSERT INTO mixtapes (title, songs, posted_by_id, description, date) 
     VALUES('$mixtapetitle','$allmixtapetracks','$posted_by_id','$mixtapedescription', now())")  
     or die (mysql_error());

最后我希望它在歌曲行中看起来像这样

  

第一首歌的标题哈哈 ^^^ 第二首歌的标题!!! ^^^   标题第三个! ^^^ 和第四个标题

2 个答案:

答案 0 :(得分:1)

使用implode()

echo implode($trackVAR, " ^^^ ");

答案 1 :(得分:1)

替换以下代码:

$trackVAR = $_POST['track'];

$allmixtapetracks = "";

foreach ($trackVAR as $value) {
    $allmixtapetracks .= '' . $value . '^';
}

用这个:

$allmixtapetracks=implode('^^^',$_POST['track']);