2012-04-08 60 views
0

我有多个输入(永远不会相同,因为它是一个动态添加/删除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[]" > 

当表单submited(PHP转贴),我想利用所有的输入和它们组合成一个阵列,但sepparating他们都“^^^”


这是我迄今为止,为渲染输入(不工作)。

$trackVAR = $_POST['track']; 

     $allmixtapetracks = ""; 

     foreach ($trackVAR as $value) { 

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

,这是我使用插入到我的桌子上(工程,测试它没有变,进入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()); 

最后,我希望它像这样的歌曲里面排

标题的第一首歌,哈哈的^^^标题第二首歌曲! ^^^的 标题第三!与此

$trackVAR = $_POST['track']; 

$allmixtapetracks = ""; 

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

^^^和第四

+1

请确认你正在逃避你的投入。切勿允许来自PHP脚本之外的数据(例如$ _POST数据)未经转义的数据库查询。此外,mysql_系列函数也被弃用。如果不是PDO,您至少应该使用mysqli_(PDO也为您提供了一种逃避数据的简单方法)。 – liquorvicar 2012-04-08 09:19:23

回答

1

使用implode()

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

我不明白这个答案。我会在哪里放置这个? – 2012-04-08 08:14:25

+0

非常感谢您花时间帮助我。是的,我只是一个初学者。我有很多要学习。再次感谢你! – 2012-04-08 13:08:03

1

的标题替换您如下代码

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

我不明白这是去哪里? – 2012-04-08 08:29:26

+0

@ alex-sarnowski - 检查我编辑的评论。 – 2012-04-08 08:51:36

+0

非常感谢您花时间帮助我。但是,它仍然只显示第一个输入的值。 – 2012-04-08 13:06:30

相关问题