1
    <?php
session_start();
include("configdb.php");
if(!session_is_registered(username)){
header("location:index.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Projects</title>
<link href="style.css" rel="stylesheet" type="text/css" />

<script type="text/javascript">

function un_check(){
for (var i = 0; i < document.frmactive.elements.length; i++) {
var e = document.frmactive.elements[i];
if ((e.name != 'allbox') && (e.type == 'checkbox')) {
e.checked = document.frmactive.allbox.checked;
}
}
}
function Confirm(form){
alert("Project has been activated!");
form.submit();
}
function unConfirm(form){
alert("Project has been Deactivated!");
form.submit();
}
</script>
</head>

<body>
<div id="costDiv">
<div id="divErc"></div>
<div id="costBack">

<?php

if(isset($_POST['checkbox'])){$checkbox = $_POST['checkbox'];
if(isset($_POST['activate'])?$activate = $_POST["activate"]:$deactivate = $_POST["deactivate"])

$id = "('" . implode( "','", $checkbox ) . "');" ;
$sql="UPDATE projects SET p_isActive = '".(isset($activate)?'1':'0')."' WHERE p_id IN $id";
$result = mysql_query($sql) or die(mysql_error());

}

?>
<?php include("hor_menu.php"); ?>


<form name="frmactive" method="post" action="">

<table width="350" border="0" cellspacing="1" cellpadding="5" align="center" style="margin-left:150px ; margin-right:auto ; margin-top:20px ; margin-bottom:auto ; position:absolute ; width:400px">

<tr>
<td align="center" ><input type="checkbox" name="allbox" onclick="un_check(this);" title="Select or Deselct ALL" style="background-color:#ccc;"/></td>

<td align="left"><strong>Project</strong></td>
<td align="left"><strong>Country</strong></td>
<td align="left"><strong>Active</strong></td>

</tr>

<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="center"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<?php echo $rows['p_id']; ?>"/></td>
<td><?php echo $rows['p_name']; ?></td>
<td><?php echo $rows['p_country']; ?></td>
<td><?php if ($rows['p_isActive'] == '1'){ echo'Active';} else{ echo 'Inactive';} ?></td>

</tr>
<?php
}
?>
<tr>
<td colspan="5"><input name="activate" type="submit" id="activate" value="Activate" onClick="Confirm(this.form)" />
<input name="deactivate" type="submit" id="deactivate" value="Deactivate" onClick="unConfirm(this.form)"/></td>
</tr>
</table>


?>
</td>
</tr>
</table>
</form>
</body>
</html>

私はこのコードを持っています。チェックボックスをオンにすると、プロジェクトは下部に応じてアクティブ化または非アクティブ化されます。ただし、このコードはgooglechromeとsafariを除くすべてのブラウザで完全に機能します。更新クエリのwhere句の後の構文espeaciall.thankyou

4

2 に答える 2

0

これは合法ではありませんid="checkbox[]"。削除してください。

すべてを に割り当てる必要はありませんIDID実際に JavaScript で使用する場合にのみ割り当てます。それ以外の場合は、そのままにしておきます。

INPUTnamefields には属性が必要ですが、それID.

于 2012-08-23T09:09:14.677 に答える
0

ブラウザによっては SQL エラーが発生する場合は、ほとんどの場合、入力を確認する必要があります。PHP の実行は、テキスト ボックスやトリガーなどのクライアント側コントロールから取得するデータを除いて、使用しているブラウザーによって異なりません。

$sql何らかの方法で変数をログに記録することをお勧めします. を使用してvar_dump、ブラウザ間でデータがどのように変化するかを確認できます.

于 2012-08-23T08:40:05.753 に答える