新聞中心
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,越來越多的企業(yè)開始采用網(wǎng)站進行業(yè)務(wù)操作,而在網(wǎng)站中,多選表單一般是一個很常見的組件,可以用于實現(xiàn)多個選項的同時選擇,從而方便用戶進行選擇操作。而在多選表單數(shù)據(jù)的處理中,將其自動寫入數(shù)據(jù)庫中則是一項非常重要的功能,本文將從實現(xiàn)多選表單數(shù)據(jù)自動寫入數(shù)據(jù)庫的角度來進行詳細的解析。

一、多選表單常見的結(jié)構(gòu)類型
在進行多選表單的編寫之前,需要對多選表單常見的結(jié)構(gòu)類型有所了解,一般來說,多選表單的結(jié)構(gòu)類型有兩種,分別為checkbox類型和select類型。
1、checkbox類型
checkbox類型的多選表單一般由多個checkbox組成,每個checkbox都對應(yīng)著一個選項,選中的checkbox則代表著被選中的選項,這種方式通常適用于選項個數(shù)比較少的情況,如圖1所示。
2、select類型
select類型的多選表單一般由一個下拉列表和多個選項組成,用戶可以通過下拉列表選擇需要的選項,并通過多選方式進行選擇,這種方式通常適用于選項比較多的情況,如圖2所示。
二、多選表單如何將數(shù)據(jù)自動寫入數(shù)據(jù)庫
在多選表單中將數(shù)據(jù)自動寫入數(shù)據(jù)庫是非常重要的一個功能,一般來說通過服務(wù)器端腳本語言(如:PHP、ASP、P等)進行處理。
1、通過checkbox將數(shù)據(jù)自動寫入數(shù)據(jù)庫
checkbox類型的多選表單可以采用以下的方式將數(shù)據(jù)自動寫入數(shù)據(jù)庫:
“`php
//連接數(shù)據(jù)庫
include(“conn.php”);
//獲取提交的數(shù)據(jù)
$choice=$_POST[‘choice’];
//將數(shù)據(jù)插入數(shù)據(jù)庫中
$sql=”INSERT INTO choices(choice) VALUES(‘$choice’)”;
mysql_query($sql);
?>
“`
在上述代碼中,我們首先通過$_POST[‘choice’]獲取多選表單的數(shù)據(jù)值,然后將其插入到數(shù)據(jù)庫choices表中。
2、通過select將數(shù)據(jù)自動寫入數(shù)據(jù)庫
select類型的多選表單可以采用以下的方式將數(shù)據(jù)自動寫入數(shù)據(jù)庫:
“`php
//連接數(shù)據(jù)庫
include(“conn.php”);
//獲取提交的數(shù)據(jù)
$choice=$_POST[‘choice’];
//將數(shù)據(jù)插入數(shù)據(jù)庫中
foreach($choice as $v){
$sql=”INSERT INTO choices(choice) VALUES(‘$v’)”;
mysql_query($sql);
}
?>
“`
在上述代碼中,我們首先通過$_POST[‘choice’]獲取多選表單的數(shù)據(jù)值,然后通過循環(huán)將每個選項的值插入到數(shù)據(jù)庫choices表中。
三、多選表單數(shù)據(jù)重復(fù)性處理
在進行多選表單數(shù)據(jù)寫入數(shù)據(jù)庫的時候,存在一個非常重要的問題,即數(shù)據(jù)的重復(fù)性問題。假如多個用戶選擇的選項是一樣的,那么在寫入數(shù)據(jù)庫的時候就會出現(xiàn)重復(fù)數(shù)據(jù),因此需要進行一定的處理。
1、通過刪除重復(fù)選項的方式
首先我們可以通過刪除重復(fù)選項的方式來處理多選表單寫入數(shù)據(jù)的重復(fù)性問題。
“`php
//連接數(shù)據(jù)庫
include(“conn.php”);
//獲取提交的數(shù)據(jù)
$choice=$_POST[‘choice’];
//去除重復(fù)數(shù)據(jù)
$choice=array_unique($choice);
//將數(shù)據(jù)插入數(shù)據(jù)庫中
foreach($choice as $v){
$sql=”INSERT INTO choices(choice) VALUES(‘$v’)”;
mysql_query($sql);
}
?>
“`
在上述代碼中,我們首先通過array_unique($choice)函數(shù)將數(shù)組中的重復(fù)數(shù)據(jù)去除,然后將非重復(fù)的選項數(shù)據(jù)插入到數(shù)據(jù)庫中,從而防止了重復(fù)數(shù)據(jù)的出現(xiàn)。
2、通過判斷是否存在的方式
還可以通過判斷選項數(shù)據(jù)是否已經(jīng)存在于數(shù)據(jù)庫中的方式來解決多選表單寫入數(shù)據(jù)的重復(fù)性問題。
“`php
//連接數(shù)據(jù)庫
include(“conn.php”);
//獲取提交的數(shù)據(jù)
$choice=$_POST[‘choice’];
//將數(shù)據(jù)插入數(shù)據(jù)庫中
foreach($choice as $v){
$sql=”SELECT * FROM choices WHERE choice=’$v'”;
$result=mysql_query($sql);
if(mysql_num_rows($result)==0){
$sql=”INSERT INTO choices(choice) VALUES(‘$v’)”;
mysql_query($sql);
}
}
?>
“`
在上述代碼中,我們首先通過SELECT語句查詢數(shù)據(jù)庫中是否已存在該選項,如果數(shù)據(jù)庫中不存在該選項,則將其插入到數(shù)據(jù)庫中,否則跳過該選項的插入操作。
四、結(jié)論
在進行多選表單數(shù)據(jù)自動寫入數(shù)據(jù)庫的時候,我們需要對多選表單的結(jié)構(gòu)類型有所認識,并通過服務(wù)器端腳本語言實現(xiàn)數(shù)據(jù)的自動寫入操作。同時,在進行數(shù)據(jù)寫入的時候,我們需要注意數(shù)據(jù)的重復(fù)性問題,可以采用刪除重復(fù)選項和判斷選項是否已存在的方式來解決數(shù)據(jù)重復(fù)性的問題,從而保證數(shù)據(jù)的完整性和正確性。
相關(guān)問題拓展閱讀:
- 為什么我在提交表單時,有時能寫入數(shù)據(jù)庫,有時又不能寫入?
- 驗證過表單之后如何將數(shù)據(jù)寫入SQL數(shù)據(jù)庫,急急急急急急急?。。?!
- PHP中怎樣把表單單選按鈕的值寫入數(shù)據(jù)庫中
為什么我在提交表單時,有時能寫入數(shù)據(jù)庫,有時又不能寫入?
權(quán)限問題?不要瞎說好吧。那怎么又時能傳,睜眼說瞎話!
應(yīng)該是上傳表單的大小的問題。。太大的話就不行。一般程序都做限制的
比如網(wǎng)站后臺要上傳一張圖片,你要傳10M的張片能成功么?一般不可能!所以樓主的問題很大原因是上傳表單大小引起的。。。
權(quán)限問題,設(shè)置一下文件夾的權(quán)限
1、工具-文件夾選項-查看(選項卡) 將選項“使用簡單文件共享”的勾去掉
2、右擊數(shù)據(jù)庫所在文件夾,屬性-安全,分配Everyone讀寫權(quán)限
你提交的數(shù)據(jù)大于數(shù)據(jù)庫字段的大小,就會出錯,內(nèi)容寫不進數(shù)據(jù)庫??匆幌履隳莻€表的字段的類型是不是對的
驗證過表單之后如何將數(shù)據(jù)寫入SQL數(shù)據(jù)庫,急急急急急急急?。。?!
jsp(表橋纖兄單)把值傳到servlet然后servlet調(diào)用插入語句.搞定!
//***************insertdao (數(shù)據(jù)訪問層)****************//
public class Examedao{
private static Logger logger=Logger.getLogger(Examedao.class);
private Examedto dto;
public Examedao(){
}
public void execute()throws SQLException{
DBConn dBConn=new DBConn();
try{
java.sql.Connection conn=dBConn.getConn();
Examedao dao=new Examedao();
String str=”insert into vehicle values(?,?,?,?)”;
logger.debug(“語句”+str);
java.sql.preparedStatement ps=new preparedStatement(str);
ps.setString (1,dto.getvecode());
……
ps.setString (4,dto.gettype());
ps.execute();
logger.debug(“”);
}finally{
dBConn.close();
}
}
}
//***************servlet ****************//
try{
String code=request.getparameter(“txtid”)//得到j(luò)sp頁面txt的值
…….
String type=request.getparameter(“txttype”)//得到j(luò)sp頁面txt的值
Examedto dto=new Examedto();
dto.setcode(code);
dto.setType(type);
Examedao dao=new Examedao ();
dao.setdto(dto);
dao.execute();
logger.debug(“插入數(shù)據(jù)庫成功”);
response.sendRedirect(“sucess.jsp”);
}catch(Exception ex){
response.sendRedirect(“error.jsp”);
logger.debug(ex,ex);
}
/敏襲/****************dbconn數(shù)據(jù)連接*********************//
public class DBConn(){
private Connection conn;
private static Logger logger=Logger.getLoggde(DBConn.class);
public DBConn(){
}
public java.sql.connection getConn() throws SQLException{
//加載驅(qū)動
new com.microsoft.jdbc.sqlserver.sqlserverDriver();
//設(shè)置連接字符串
String address=””;//ip
String port=””;//端口
String databasename=””//數(shù)豎虧據(jù)庫
String username=””//用戶
String pwd=””//密碼
java.io.InputStream in=Thread.currentThread().getResourceAsStream(“db.properties”);
java.util.properties prop=new properties();
try{
prop.load(in);
prop.close();
}catch(IOException ex){
logger.debug(“連接數(shù)據(jù)庫失敗!!”);
}
address=prop.getProperty(“address”);
port=prop.getProperty(“port”);
databasename=prop.getProperty(“databasename”);
username=prop.getProperty(“username”);
pwd=prop.getProperty(“pwd”);
String sql=”jdbc:microsoft:
conn=java.sql.DriverManager.getConnection(sql,username,pwd);
logger.debug(sql+”語句”);
return conn;
}
}
public void closeConn(){
conn.close();
logger.debug(“關(guān)閉成功”);
}
PHP中怎樣把表單單選按鈕的值寫入數(shù)據(jù)庫中
和表單的TEXT操作一樣.
/*文本框*/
/*按鈕*/攜升戚
細節(jié)部分我不寫了!
p代碼中獲取表單中單選按鈕的值:(單選按鈕只能讓我們選擇一個,這里有一個“checked”屬性,這是用來默認選取的,我們每次刷新我們的頁面時就默認為這個值。)
例:
性別:
鋒讓男女
如果你選擇的是男,則出來的值就是“男”,要是你選擇的是女肆旁,則出來的值就是“女”。
舉例如下斗虛:
file1.php:
file2.php:
多選表單寫入數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于多選表單寫入數(shù)據(jù)庫,實現(xiàn)多選表單數(shù)據(jù)自動寫入數(shù)據(jù)庫的方法解析,為什么我在提交表單時,有時能寫入數(shù)據(jù)庫,有時又不能寫入?,驗證過表單之后如何將數(shù)據(jù)寫入SQL數(shù)據(jù)庫,急急急急急急急?。。?!,PHP中怎樣把表單單選按鈕的值寫入數(shù)據(jù)庫中的信息別忘了在本站進行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
當(dāng)前題目:實現(xiàn)多選表單數(shù)據(jù)自動寫入數(shù)據(jù)庫的方法解析(多選表單寫入數(shù)據(jù)庫)
本文地址:http://www.5511xx.com/article/cdeihde.html


咨詢
建站咨詢
