簡體   English   中英

文本輸入(以逗號分隔)mysql輸入為數組

[英]text input (seperated by comma) mysql input as array

我有一個試圖實現標簽系統的表單。

它只是一個:

<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();
    }
}

創建一個新表,我們稱它為“標簽”:

tags
- userid
- artisttag

每個用戶在此表中可能有多行(每行上有一個不同的標簽)。 查詢時,您可以使用JOIN操作合並兩個表。 例如:

SELECT username, artisttag
FROM users, tags
WHERE users.userid = tags.userid
AND   users.userid = 4711

這將為您提供有關ID為4711的用戶的所有信息。

關系數據庫系統是為此類工作而構建的,因此不會浪費空間和性能。 實際上,如果您希望能夠搜索標簽,則這是最佳方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM