2014-02-17 52 views
0

我有这个PHP的MySQL问题的麻烦。我有5个具有相同名称的输入字段,并且输入的foreach输入字段是我要保存在数据库中的。但目前,如果我输入2个字段,则将其插入3个空白字段。如何我只需插入不属于空php mysql保存输入数组

下面是HTML

<input type="text" name="tags[]" placeholder="Add Tags" /> 
<input type="text" name="tags[]" placeholder="Add Tags" /> 
<input type="text" name="tags[]" placeholder="Add Tags" /> 
<input type="text" name="tags[]" placeholder="Add Tags" /> 
<input type="text" name="tags[]" placeholder="Add Tags" /> 

这里的人是PHP

$tags = $_POST['tags']; 

    for($i = 0; $i < count($tags); $i++){ 
       $tag = $_POST['tags'][$i]; 

       $addtags = $gifs->addtags($tag, $id); 
       } 
+0

重复http://stackoverflow.com/questions/ 3314567 /如何获取表单输入数组到php的数组 – Haywire

回答

0

试试这个,你可以使用foreach

$tags = $_POST['tags']; 
foreach($tags as $tag) { 
    $tag = trim($tag); 
    if (! empty($tag)) { 
    $addtags = $gifs->addtags($tag, $id); 
    } 
} 
+0

这不会做什么OP是问,如果标签[4]是空的它将被发送到addtags无论如何 – sathia

+1

@sathia,请检查OP请求他想避免将空插入表中,这就解决了他的问题! –

+0

降低Mr.downvoter的原因是什么? –

0

好,首先要清理你的输入,第二件事是调整每个值,补充一点:

$tag = trim($tag); 
if(!empty($tag)){ 
...code 
+0

你认为trim()会做什么?我完全同意并且同意!空的但是没有任何地方OP表示它不应该允许具有空间的条目 – Anigel

+0

它将修剪变量,删除空格和其他不可见的字符以便不创建空的/重复的标签。什么是垂直标签制作的标签? – sathia

+0

如果用户提交此标签,该怎么办:\ t \ n \ n \ t,OP是否需要此标签? – sathia

0

尝试这个

$tags = $_POST['tags']; 

for($i = 0; $i < count($tags); $i++){ 
      $tag = trim($_POST['tags'][$i]); 
    if (!empty($tag)) 
      $addtags = $gifs->addtags($tag, $id); 
      } 
0

array_filter()取出空:

$tags = array_filter($_POST['tags']); 

foreach($tags as $tag) { 
    $addtags = $gifs->addtags($tag, $id); 
} 
+1

不错的主意,但是再一次,这不会阻止无形的角色被张贴。 – sathia