2012-12-27 41 views
0

有人可以告訴我PHP代碼和MySQL查詢,以便我可以將單選按鈕數據發佈到MySQL字段中嗎?我有所謂的 「考勤」 一個MySQL表,有四個字段:如何將單選按鈕記錄添加到MySQL字段中使用PHP

  • 目前
  • 缺席
  • 離開
  • 假期

我的HTML表單包含四個單選按鈕,以及像

<input type="radio" name="present" value="1" /> 
<input type="radio" name="absent" value="2" /> 
<input type="radio" name="leave" value="3" /> 
<input type="radio" name="holiday" value="4" /> 

我想要的是,如果有人選擇缺席單選按鈕,則2應出席考勤表中的缺席欄位,其他3欄位在表中爲空;如果有人選擇禮物,那麼1應該出席在考勤現場,其他3個缺席假期的場地將爲空。

另外名稱是4個單選按鈕的不同點,所以有問題我可以選擇所有4個單選按鈕。我如何讓他們從4中選擇一個?我知道如果名稱相同,那麼我可以選擇1,但這裏是不同的問題,4個不同的領域。

+0

這似乎是多餘的值「2」存儲在「缺席」列 - 它會有所好轉,使每一種布爾值,因爲一個人要麼缺席,要麼不是 - 價值「2」與此無關。將所有四個字段交換爲一個稱爲「狀態」的字段會更好,該字段取四個值:P,A,L或H.這可以防止數據庫中出現人員記錄爲現在和假期的情況想必是不可能的。 – halfer

回答

2

爲無線電組的所有元件指定相同的名稱。這將用於HTML部分。在PHP你根據請求的值做一個簡單的開關:

<?php 
    $defaultInsertData = array(0,0,0,0); 
    $currentValue = intval($_REQUEST['FIELDNAME']); 
    switch($currentValue) { 
     case 1: 
      $defaultInsertData[0] = 1; 
      break; 
     case 2: 
      $defaultInsertData[1] = 2; 
      break; 
     case 3: 
      $defaultInsertData[2] = 3; 
      break; 
     case 4: 
      $defaultInsertData[3] = 4; 
      break; 
    } 
    // and here you have your array with the four elements.... 
    var_dump($currentValue); 
?> 
+0

請在rayice.com/code.txt查看代碼 –

+0

上面的代碼已經全部正常工作,10+名學生的考勤名單將會出現在名爲student_attendance的字段中,稱爲當前個人,沒有問題,我現在已將當前字段拆分爲4個字段叫做p,a,l,h,所以我想要的是如果我們爲第一個學生值1選擇現在的廣播選項,則應該到p字段,其餘3將爲空,因爲它們默認爲空。原因是我想根據禮物和葉子計算學生出勤率的百分比,所以我希望這個東西繼續前進其他代碼的其餘代碼我知道該怎麼做,只是解決我的這個問題 –

+0

當我看到您提供的代碼時,我想指出它非常不安全並且容易受到攻擊。無論如何,基本上你可以做的是,像這樣動態地聲明VALUES部分:$ statementValues = array('''。$ VALUE_1。''','''。。$ VALUE_2。'「',...) 。正如上面代碼示例中所解釋的那樣,根據返回的REQUEST值設置四個不同變體的數組值(它們必須不同,否則不能這樣做),最後通過執行implode將$ statementValues數組轉換爲字符串(「,」,$ statementValues);並將其附加到SQL語句。 –

相關問題