2013-12-10 75 views
0

我正在編寫一個博客的後端,海報應該選擇該帖子應屬於哪個類別。將多個複選框值插入到MySQL中

我不知道下一步該怎麼做,我只有這一塊的代碼,得到所有的複選框(選中)值(ES)

PHP代碼

if(isset($_POST['category'])){ 
    $category = $_POST['category']; 
    foreach ($category as $cat=>$value) { 
    echo $value; 

HTML代碼

<input type="checkbox" name="category[]" value="CategoryA"> CategoryA 
     <input type="checkbox" name="category[]" value="CategoryB"> CategoryB 
     <input type="checkbox" name="category[]" value="CategoryC"> CategoryC 

我只是想知道我可以插入值(ES)

回答

0

這樣做是爲了CREA的最佳方式用於添加類別的單獨表格。

例如:

tid, name, post_id //something you need 

然後,你需要在每個類別中插入新行。這裏tid是自動增量,名稱是您的類別名稱,post_id是博客表格中的自動增量字段。

因此,您可以使用LEFT JOIN從子表中獲取數據。

另一種方式是serialize的數據和一個varchar字段中插入你的博客表

$serializedData = isset($_POST['category']) ? serialize($_POST['category']) : ""; 
0

您可以保存這樣的分離類別值逗號。

$category = is_array($_POST['category']) ? implode(",",$_POST['category']) : ''; 
echo $category; 
0

沒有一個標準的做法。這取決於您的應用程序以及您希望如何使用此信息。如果只是顯示用戶選擇了哪些類別,並且不需要單獨的檢查或邏輯,則可以將獲取的值轉換爲JSON字符串,然後將其插入數據庫。 假設您有CategoryA,CategoryB,CategoryC,CategoryD和CategoryE。如果用戶選擇CategoryA和CategoryD。您的JSON會是這樣的:

[{"CategoryA":"1"}, {"CategoryB":"0"}, {"CategoryC":"0"}, {"CategoryD":"1"}, {"CategoryE":"0"}] 

在上面的JSON字符串,「0」表示該類別還沒有被選擇「1」,它有。 或者,如果您有指定數量的類別並且不會經常更改,則只能將該類別添加到用戶選擇的JSON中。 你不必自己寫這個JSON,只是創建一個數組以下規格

$Array['CategoryA'] = 1; 

。 。 。

$Array['CategoryE'] = 0; 

當你創建你的數組時,只需使用PHP函數json_encode($ArrayToEncode)和viola!你有一個JSON對象。 希望它回答你的問題。如果您有任何困惑,請隨時詢問。