2012-02-01 112 views
1

相反noobish問題,但我試過搜索,只是找不到解決方案。我的問題是我有一張叫Off的桌子,裏面儲存了所有員工的假期。但是,在工作人員休息一天之前,必須先獲得授權。我有一個查詢獲取所有未經授權的假期,我將它們顯示在一個html表格中。問題是我需要每個記錄2個單選按鈕。一個用於授權,一個用於拒絕。單選按鈕被顯示,但是當通過記錄時,只有一個單選按鈕是可選的。這樣可以使用單選按鈕嗎?在html表中使用單選按鈕?

<?php 
$path = $_SERVER['DOCUMENT_ROOT']; 
$path .= "/Apollo/dbc.php"; 
include_once($path); 



$rs_results = mysql_query("SELECT * FROM off WHERE IsItAuthorised='0' and isitsick='0' ORDER BY DayOff"); 

?> 
<html> 
<head> 
<title>Administration Main Page</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<?php 


    $limit = count($OffID); 

if (isset($_POST['submit'])) { 
    //Assign each array to a variable 
    $id = $_POST['OffID']; 
    $answer = $_POST['radio']; 



    $limit = count($OffID); 




$values = array(); // initialize an empty array to hold the values 
    for($k=0;$k<$limit;$k++){ 
    $msg[] = "$limit New KPI's Added"; 


      $query = "UPDATE Off SET IsItAuthorised = '{$answer[$k]}' WHERE OffID = '{$OffID[$k]}'"; 
    } 



    $Event = "INSERT INTO events (UserName, Event) VALUES ('$_SESSION[user_name]', 'Entered New KPI')"; 



if (!mysql_query($query,$link)){ 
     die('Error: ' . mysql_error()); 
    } else { 

     mysql_query($Event); 
     echo "<div class=\"msg\">" . $msg[0] . "</div>"; 
    } 




}        
?> 


</head> 

<body> 
<table width="100%" border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
    <td width="14%" valign="top"><?php 

?> 

    </td> 
    <td width="74%" valign="top" style="padding: 10px;"> 

     <p><?php 
     if(!empty($msg)) { 
     echo $msg[0]; 
     } 
     ?></p> 

     <p> 
     <?php 
     $cond = ''; 






     $sql = "select * from off "; 



     $rs_total = mysql_query($sql) or die(mysql_error()); 
     $total = mysql_num_rows($rs_total); 


     ?> 

     <p> 

     <form name "searchform" action="/Apollo/Admin/HolidayRequests" method="post"> 
     <table width="100%" border="0" align="center" cellpadding="2" cellspacing="0"> 
      <tr class="mytables"> 
      <td width="4%"><font color="white"><strong>ID</font></strong></td> 
      <td width="4%"> <font color="white"><strong>Staff Member</font></strong></td> 
      <td width="10%"><font color="white"><strong>Day Off</font></strong></div></td> 
      <td width="10%"><font color="white"><strong>Is It Authorized</font></strong></div></td> 
      <td width="15%">&nbsp;</td> 
      </tr> 


      <tr> 
      <td>&nbsp;</td> 
      <td width="10%">&nbsp;</td> 
      <td width="17%"><div align="center"></div></td> 
      <td>&nbsp;</td> 
      </tr> 
      <?php while ($rrows = mysql_fetch_array($rs_results)) {?> 
      <tr> 
      <td><input type="" name="id[]" id="id[]" size="4" value="<?php echo $rrows['OffID'];?>" /></td> 
      <td><?php echo $rrows['StaffMember']; ?></td> 
      <td><?php echo date('d/m/Y', strtotime($rrows['DayOff']));?></div></td> 

      <td> <span id="approve<?php echo $rrows['id']; ?>"> 
       <?php if(!$rrows['IsItAuthorised']) { echo "Pending"; } else {echo "Authorized"; }?> 
       </span> </td> 

       <td> 


        <input type="radio" name="radio[0]" id="radio[0]" value="1" />Approve 
         <input type="radio" name="radio[1]" id="radio[1]" value="0" />Deny 



     </td> 
      </tr> 

      <?php } ?> 
     </table> 
      <input name="submit" type="submit" id="submit" value="Submit"> 
     </form> 


     &nbsp;</p> 
     <?php 


     ?> 


     <p>&nbsp;</p> 
     <p>&nbsp;</p> 
     <p>&nbsp;</p> 
     <p>&nbsp;</p></td> 
    <td width="12%">&nbsp;</td> 
    </tr> 
</table> 
</body> 
</html> 
+0

你是說你每次只能選擇一個單選按鈕嗎? – slapthelownote 2012-02-01 09:30:32

回答

3

你的問題是在你使用「name」屬性做 - 這個屬性在單選按鈕一種特殊的方式使用。

當你單擊一個單選按鈕時,所有其他的單選按鈕都被取消選中 - 在你的情況下,你將在一個組中有一半的單選按鈕,另一半可能有一半解釋你爲什麼只能選擇一個。我想你可以同時選擇兩個,如果你點擊右邊的單選按鈕。

要解決這個問題,你就需要有某種計數while循環,即:

$resultNumber = 0; 
while ($rrows = mysql_fetch_array($rs_results)) { 

然後,你需要使用的名稱這個數字(也ID)的單選按鈕 -

<input type="radio" name="radio<?php echo $resultNumber; ?>" id="radio<?php echo $resultNumber; ?>" value="1" /> 

然後簡單地增加在$resultNumber的每次迭代結束 -

<?php 
    $resultNumber++; 
} 
?> 

或者,您可以使用您要查詢的數據庫表中的行的主鍵來區分組,但不知道表結構,我無法給出示例代碼。

在單選按鈕上進一步閱讀(也是對name屬性問題源): http://www.echoecho.com/htmlforms10.htm

0

代替單選按鈕,我使用複選框,其餘成圈穿過。每個複選框將值設置爲不同的列。首先應該是明顯的。