2014-01-09 205 views
0

美好的一天。我是一個PHP新手。獲取複選框的值

我想要做的是我想從我的數據庫中獲取特定數據行的id。並更新我的桌子上的一些列。

我所做的這是什麼..

<td style="width:50px;"><input type="checkbox" id="chkPending" name="chkPending[]" value="<?php echo $row['RequestNumber']; ?>"/></td> 
<td><a href="edit.php?id=<?php echo $row['RequestNumber']; ?>"><span class="label label-success">View Details</span></a></td> 
<td style="width:100px;"><?php echo $row['RequestNumber']; ?></td> 
<td style="width:100px;"><?php echo $row['Requestor']; ?></td> 
<td style="width:100px;"><?php echo $row['Department']; ?></td> 
<td style="width:50px;"><?php echo $row['category']; ?></td> 
<td style="width:100px;"><?php echo $row['AssignedTo']; ?></td> 
<td style="width:100px;"><?php echo $row['status']; ?></td> 
<td style="width:100px;"><?php echo $row['DateRequested']; ?></td> 
<td style="width:100px;"><?php echo $row['TimeRequested']; ?></td> 

PHP代碼

<?php 
    $RequestNumber = $POST_['chkPending']; 

    $sql = "UPDATE tblrequest SET Assignedto = 'personnel', status = 'Assigned' WHERE RequestNumber = '$RequestNumber'"; 
    if (isset($_POST['submit'])) { 
     $success = mysql_query($sql) or die(mysql_error()); 
     mysql_close(); 
    } 

    if ($success == TRUE) { 
?> 
     <script> 
      alert('You have successfully update account.'); 
     </script> 
<?php 
    } 
?> 

我希望得到任何幫助。先謝謝你。

這是我的全部代碼:**

+0

First:$ RequestNumber = $ POST _ ['chkPending'];你需要把它寫成$ RequestNumber = $ _POST ['chkPending']; – Goikiu

+0

我的不好。我改變了它,但仍然不起作用 – rapidoodle

+0

請記住你的var $ RequestNumber是一個數據數組......如果我正確記得它需要以不同的方式處理。 – Goikiu

回答

0

更改您輸入的名稱本:

<input type="checkbox" id="chkPending" name="chkPending[<?= $row['RequestNumber']; ?>]" /> 

在你的PHP代碼做到這一點:

<?php 
if (isset($_POST['submit'])) { 

    foreach($_POST['chkPending'] as $RequestNumber=>$value) 
    { 
     $sql = "UPDATE tblrequest SET Assignedto = 'personnel', status = 'Assigned' WHERE RequestNumber = '".$RequestNumber."'"; 
     $success = mysql_query($sql) or die(mysql_error()); 
    } 

    mysql_close(); 
} 

if ($success == TRUE) { 

?> 
<?php 
    <script> 
     alert('You have successfully update account.'); 
    </script> 
<?php 
} 
?> 

您可以使用此代碼比較一下。此代碼正在工作,將打印2,4。

<form action="#" method="POST"> 
<input name="test[1]" type="checkbox" /> 
<input name="test[2]" checked type="checkbox" /> 
<input name="test[3]" type="checkbox" /> 
<input name="test[4]" checked type="checkbox" /> 
<input type="submit" /> 
</form> 

<?php 

if($_POST) 
{ 
    foreach($_POST['test'] as $id => $value) 
    { 
     echo $id.'<br />'; 
    } 
} 

?> 
+0

它給了我這個錯誤的傢伙。警告:爲第15行的C:\ xampp \ htdocs \ iHelp \ pendingRequest_admin.php中的foreach()提供的無效參數 – rapidoodle

+0

您能打印整個代碼嗎?順便說一句,從複選框中刪除id =「chkPending」。禁止多次使用ID。 –

+0

該死的我不知道如何stackoverflow工程:-)第一次..但我編輯我的答案! –