2012-08-12 57 views
1

我有一個選擇標籤multiple="multiple"。用戶可以選擇多個值。如何將<select>標籤中的多個選定值存儲在單個字段中

<label for="aoi">Area of Interest:</label> 
<select id="sel_aoi" name="aoi" multiple="multiple"> 
    <option value="hr-executive">HR Executives</option> 
    <option value="sr-manager">Sr. Manager</option> 
    <option value="service-advisor">Service Advisor</option> 
    <option value="production">Production Engineer</option> 
    <option value="mechanical">Mechanical Engineer</option> 
</select> 

如何將這些多個選定的值存儲在MySQL數據庫的單個字段中?

+2

序列化:'$ AOI = msqli_real_escape_string($分貝,json_encode($ _ POST [ 'AOI']));' – 2012-08-12 12:35:37

+0

由於賈裏德!它爲我工作。 'mysqli'的代碼中存在寫入錯誤。 MySQL和MySQLI有什麼區別。它給了我一個mysql_connect()的警告,但與mysqli_connect()一起工作正常。 – 2012-08-12 13:22:52

+0

這不是一個錯字。你應該使用'mysqli'庫; 'mysql'已經過時了,而且已經過時了*,這意味着它最終會被刪除。在這裏閱讀更多關於'mysqli'的信息:http://www.php.net/manual/en/intro.mysqli.php另一個選項是[PHP數據對象或PDO](http://www.php.net/manual /en/book.pdo.php),這是一個抽象的數據連接器,它不會將代碼緊密地連接到任何特定的庫,如'mysql'或'mysqli'。 – 2012-08-12 14:21:18

回答

4

將它存儲到一個數組,並使用逗號分開將值保存到數據庫。

<label for="aoi">Area of Interest:</label> 
      <select id="sel_aoi" name="aoi[]" multiple="multiple"> 
      <option value="hr-executive">HR Executives</option> 
      <option value="sr-manager">Sr. Manager</option> 
      <option value="service-advisor">Service Advisor</option> 
      <option value="production">Production Engineer</option> 
      <option value="mechanical">Mechanical Engineer</option> 
      </select> 

process.php

$aoi = implode(',', $_POST['aoi']); 
+0

應用我們的代碼後,我收到一條警告消息: 警告:implode()[function.implode]:無效參數傳遞..../process.php 並沒有任何值存儲在表中。 – 2012-08-12 13:07:05

+0

您是否將該數組添加到名稱屬性。 – 2012-08-12 14:34:29

0

當您從$_POST讓你的價值觀插入它們與一個MySQL插入多個值是這樣的:

insert into myTable 
    (someColumn, someOtherColumn) 
values 
    (someValue1, someOtherValue1), 
    (someValue2, someOtherValue2), 
    (someValue3, someOtherValue3) 

編輯:如果你想在一行中使用類似PHP implode():

$qry="insert into mytable (someColumn) values (".implode(',',$myArray).") 

不是說你想確保$myArray變量是乾淨的,可以SQJ注入攻擊你的數據庫。準備好的聲明將是一個建議。

+0

這不是OP所描述的;它應該進入一個領域。這是一種查找方法,這些表格需要按照這種方式進行安排(即規範化)。 – 2012-08-12 12:27:18

+0

@JaredFarrish指出並更新,請參閱編輯。 – Fluffeh 2012-08-12 12:30:43

相關問題