2011-06-28 29 views
0

我有一個表單,用戶可以輸入tag1,tag2,tag3等標籤。我將這些信息分解並將它們插入表格中:逐個標記。表中的每個標籤都有一個唯一的ID(用於引用),一個vid_id(用於匹配視頻)和一個名稱(例如tag1)。如果不在當前輸入中刪除表格條目

我想要的行爲是,如果某人在表格中有3個標籤,然後用tag1重新提交表單,tag2爲相同的vid_id,tag3將從表格中移除。我只是在考慮一種最有效的方法,我正在考慮每次迭代運行select語句或者刪除該vid_id的所有標記並重新插入tag1,tag2,但這似乎效率低下。任何人有任何好點子?

$variable=explode(',',$_POST['tags']); 
foreach($variable as $tag) { 
    $id=md5(uniqid()); 
    if ($tag!=''){ 
     $sql="INSERT into tags (id,vid_id,name) VALUES (?,?,?)"; 
     $stmt16 = $conn->prepare($sql); 
     $result=$stmt16->execute(array($id,$vid_id,$tag)); 
    } 
} 
+0

可在每個視頻標籤只能由一個用戶或任何人進入? id和/或vid_id上是否有任何外鍵關係?您是否希望能夠看到之前提交的標籤,或者所有視頻都應該只有一組當前標籤? –

+0

另外,你是如何得到一個id變量?它似乎不是一個自動增量值,對吧? –

+0

現在標籤只能由一個人輸入。沒有外鍵。我只是用id,以防萬一,標籤可以單獨引用。我只想爲所有視頻提供一組當前標記。如上所示,通過使用md5(uniqid())來實現id,它基本上只是一個混合的時間戳,因此它是唯一的。 – Scarface

回答