我试图在插入之前从标签输入字符串中删除重复的条目 他们进入数据库但我的代码出了问题。标签是分开的 在这个例子中用逗号表示。
form.html
<input type="text" name="tags[usage]" value="{$smarty.post.tags.usage|escape}" />
items.class.php
require_once ROOT_PATH.'/modules/tags.class.php';
$tagsClass = new tags();
foreach($_POST['tags'] as $type=>$tags) {
$arr = explode(',', $tags);
foreach($arr as $tag) {
$tag = trim($tag);
$tag = array_unique($tag);
if($tag != '') {
$tagID = $tagsClass->getTagID($tag);
$mysql->query("
INSERT INTO `items_tags` (
`item_id`,
`tag_id`,
`type`
)
VALUES (
'".intval($itemID)."',
'".intval($tagID)."',
'".sql_quote($type)."'
)
");
}
}
}
我很感激任何帮助。
答案 0 :(得分:0)
你在_POST变量中得到一个逗号分隔的字符串到这一行
foreach($_POST['tags'] as $type=>$tags)
尝试以下代码
$new_array = explode(",", $_POST['tags']);
$new_array = array_unique($new_array);
foreach ($new_array as $value){
//Your code
}