2014-02-12 41 views
0

我誰問了一系列複選框形式的修改INSERT ...PHP如何根據一系列的複選框

<? while($tag2 = mysql_fetch_array($tag)) 
{ ?> 
<td><? echo $tag2['tag'];?><input type="checkbox" name="check[]" value="<? echo $tag2['tag_id'];?>"></td> 
    <? } ?> 

我怎麼對待SQL數據庫中插入與複選框陣列。到目前爲止,我有這個,但無法弄清楚如何處理不同的複選框:

if(isset($_POST['submit'])) 
{ 
    if(!empty($_POST['check'])) 
{ 
    foreach($_POST['check'] as $check) 

    { 
      // DONT KNOW WHAT TO DO HERE 
    } 
} 

$sql = mysql_query("insert into ..... "); 
+0

也許我的問題是不清楚..的SQL是這樣的:$ SQL =請求mysql_query(「插入blogtag_ref(TAG_ID,blog_id) VALUES('「。$ check。」','。。$ blog_id。「')」); ...我如何對待$ check來獲得每個值的正確值 – user3011784

+0

在SO上查看此答案,可能有助於http://stackoverflow.com/a/17825982/ –

回答

0

由於「$ _ POST [」檢查']已經是一個數組,你可以簡單地破滅它們轉換成字符串可以被你的查詢使用。

我不知道你是怎麼想將它們存儲在數據庫中,但如果你是存儲在單個列中的數據,你可以做這樣的事情:

if(!empty($_POST['check'])) { 
    $sql_string = implode(', ', $_POST['check']); 
} 

$sql = mysql_query("insert into table set field = '".$sql_string."'"); 

如果要存儲他們每行一個,你可以做這樣的事情:

if(!empty($_POST['check'])) { 
    $sql_string = implode('\'), (\'', $_POST['check']); 
} 

$sql = mysql_query("insert into table (field) VALUES ('".$sql_string."')"); 
0
// the question you asking is incomplete. 

foreach($_POST['check'] as $check) 
{ 
    $sql[] = $check; 
} 

//which do nothing you can be just after checking/filtering and do this 
$sql = $_POST['check']; 

//and you probably need the following 
$sqlCommaSeperated = implode($sql,","); 
相關問題