我有一个表单,我正在尝试实现标记系统。
这只是一个:
<input type="text"/>
值以逗号分隔。
e.g. "John,Mary,Ben,Steven,George"
(列表可以是用户希望的列表。)
我想获取该列表并将其作为数组插入到我的数据库中(如果用户需要,用户可以在以后添加更多标记)。我认为它不一定是一个阵列,这似乎是最好的。
所以,我的问题是如何获取该列表,将其转换为数组,回显数组(以逗号分隔的值),稍后添加更多值,并使数组可供其他用户搜索。我知道这个问题看起来很简单,但不管我做了多少阅读,我似乎无法将我的大脑包裹起来。一旦我认为我弄清楚了,就会出现问题。一个简单的例子将非常感激。谢谢!
这是我到目前为止所得到的:
$DBCONNECT
$artisttags = $info['artisttags'];
$full_name = $info['full_name'];
$tel = $info['tel'];
$mainint = $info['maininst'];
if(isset($_POST['submit'])) {
$tags = $_POST['tags'];
if($artisttags == NULL) {
$artisttagsarray = array($full_name, $tel, $maininst);
array_push($artisttagsarray,$tags);
mysql_query("UPDATE users SET artisttags='$artisttagsarray' WHERE id='$id'");
print_r($artisttagsarray); //to see if I did it right
die();
} else {
array_push($artisttags,$tags);
mysql_query("UPDATE users SET artisttags='$artisttags' WHERE id='$id'");
echo $tags;
echo " <br/>";
echo $artisttags;
die();
}
}
答案 0 :(得分:0)
创建一个新表,我们称之为“tags”:
tags
- userid
- artisttag
每个用户在此表中可能有多行(每行有一个不同的标记)。查询时,使用JOIN
操作来组合这两个表。例如:
SELECT username, artisttag
FROM users, tags
WHERE users.userid = tags.userid
AND users.userid = 4711
这将为您提供有关身份4711
的用户的所有信息。
为此类工作构建了关系数据库系统,因此不会浪费空间和性能。实际上,如果您希望能够搜索标签,这是执行此操作的最佳方式。