2010年3月5日 星期五

checkbox利用array寫入資料庫-join("連接的字串","要讀取的陣列變數名稱")

DW8 Example:
 GetSQLValueString(isset($_POST['Mm_Interest']) ? "true" : "", "defined","'Y'","'N'"));
改成
GetSQLValueString(join(",",$_POST['Mm_Interest']), "text"));
此行程式主要是將原本判斷表單元件[checkbox]是否勾選,若勾選擇資料值為"Y",相反則"N"。

因皆是相同名稱的[checkbox],又須將選取值都寫入資料庫,所以改成 [陣列] 的方式儲存資料;不過若將 [陣列]資料直接寫入資料庫,則可能會在表單資料送出並寫入指定資料表後,才發現記載的資料從原本的 [Y} 變成 [Array]。

因為它是陣列資料值的變數,所以須將資料讀出來後,再做轉存的動作,可以採用「join()」這個由PHP提供的函數;

語法: join("連接的字串","要讀取的陣列變數名稱")
以「興趣」為例,其變數名稱為 $M_interest,則可寫成
join(",", $M_interest) 
使用「,」連接「$M_interest」陣列資料值,因修改後DW無法判斷程式法是否由它自己產生,故「伺服器行為」之「插入記錄」會消失。

沒有留言:

熱門文章