@boot2later 你好,想跟你请教个问题:
麻烦您了。谢谢
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
每行的复选框 可以当做seturl数组中的下标;
<input name='id[]' type='checkbox' value='<?=$k?>'/>
1.更改指定的数组记录 假设按钮标识是action=edit 当用户选中0个或多个复选框,然后提交表单。相应的id会一起提交过去。 更改记录的id号有了, 然后直接覆盖 下标对应的数组, 修改完成。 2.删除指定的数组记录 假设按钮标识是action=delete (同更改指定的数组记录 逻辑上是一致的。) 用户选中0个或多个复选框,然后提交表单。相应的id会一起提交过去。 id有了,直接删除数组对应的下标 实现删除。######请问: 更改勾选的指定记录(如第3条数据)为“显示”状态('type'值改为'1'),activation.php中if($dopost=="show"),如何写啊?我写的$dquery = str_replace(array('1'), array('2'), $dquery);不成功。求大侠相助,不胜感激。
activation.php
<?php
//删除(或清空)勾选的记录
if($dopost=="del")
{
$ids = explode('-',$ids);
$dquery = "";
foreach($ids as $id)
{
if($dquery=="")
{
$dquery .= "id='$id' ";
}
else
{
$dquery .= " OR id='$id' ";
}
}
if($dquery!="") $dquery = " WHERE ".$dquery;
// 这里不会写
$dquery = str_replace(array('1'), array('2'), $dquery);
// ShowMsg("成功删除指定的记录!","test.php");
exit();
}
//更改勾选的记录为“显示”状态('type'值为'1')
if($dopost=="show")
{
$ids = explode('-',$ids);
$dquery = "";
foreach($ids as $id)
{
if($dquery=="")
{
$dquery .= "id='$id' ";
}
else
{
$dquery .= " OR id='$id' ";
}
}
if($dquery!="") $dquery = " WHERE ".$dquery;
// 这里不会写
$dquery = str_replace(array('1'), array('2'), $dquery);
ShowMsg("成功更改勾选的记录!","./test.php");
exit();
}
//更改勾选的记录为“隐藏”状态('type'值为'2')
if($dopost=="hide")
{
$ids = explode('-',$ids);
$dquery = "";
foreach($ids as $id)
{
if($dquery=="")
{
$dquery .= "id='$id' ";
}
else
{
$dquery .= " OR id='$id' ";
}
}
if($dquery!="") $dquery = " WHERE ".$dquery;
// 这里不会写
$dquery = str_replace(array('1'), array('2'), $dquery);
ShowMsg("成功更改指定的记录!","./test.php");
exit();
}
?>
<?php
$tips = '';
if( isset($_GET['act']) && $_GET['act']=='seturl' && isset($_POST['edit']) && $_POST['edit']==1){
$datas = $_POST;
foreach($seturl['type'] as $k=>$v){
if(trim($seturl['oldurl'][$k])==''){
unset($seturl['type'][$k]);
unset($seturl['oldurl'][$k]);
unset($seturl['newurl'][$k]);
}
}
if(file_put_contents('data.php',"<?php\n \$seturl = ".var_export($seturl,true).";\n?>")){
$tips = '<span class="green" style="font-size:18px; margin-bottom:15px; display:block;">修改成功!</span>';
}else{
$tips = '<span class="red" style="font-size:18px; margin-bottom:15px; display:block;">修改失败!</span>';
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- -->
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script language="javascript">
function ReSel(){
for(i=0;i<document.configform.logs.length;i++){
document.configform.logs[i].checked = true; //如果是实现【全不选】的话,改成false即可
}
}
function SeSel(){
for(i=0;i<document.configform.logs.length;i++){
if(document.configform.logs[i].checked) document.configform.logs[i].checked = false;
else document.configform.logs[i].checked = true;
}
}
function DelSel(){
var nid = getCheckboxItem();
if(nid==""){
alert("请选择项目!\r\n");
return ;
}
location.href = "activation.php?dopost=del&ids="+nid;
}
function ShowSel(){
var nid = getCheckboxItem();
if(nid==""){
alert("请选择项目!\r\n");
return ;
}
location.href = "activation.php?dopost=show&ids="+nid;
}
function HideSel(){
var nid = getCheckboxItem();
if(nid==""){
alert("请选择项目!\r\n");
return ;
}
location.href = "activation.php?dopost=hide&ids="+nid;
}
//获得选中文件的文件名
function getCheckboxItem(){
var allSel="";
if(document.configform.logs.value) return document.configform.logs.value;
for(i=0;i<document.configform.logs.length;i++)
{
if(document.configform.logs[i].checked){
if(allSel=="")
allSel=document.configform.logs[i].value;
else
allSel=allSel+"-"+document.configform.logs[i].value;
}
}
//alert(allSel); //1-2-7
return allSel;
}
</script>
</head>
<body>
<!-- $nav = 'seturl';include('head.php'); -->
<div id="hd_main">
<div align="center"><?php echo $tips?></div>
<form name="configform" id="configform" action="./test.php?act=seturl&t=<?php echo time()?>" method="post">
<input name="edit" id="edit" type="hidden" value="1" />
<table width="100%" border="0" align="center" cellpadding="s" cellspacing="1" class="tablecss">
<tr class="thead">
<td align="center">数组管理测试</td>
</tr>
<?php
if(is_file('data.php')){
include('data.php');
if(is_array($seturl)){
foreach($seturl['type'] as $k=>$v){
?>
<tr height="26" align="center" bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';"
onMouseOut="javascript:this.bgColor='#FFFFFF';">
<td valign="top" style="padding-left:0px;">
<!-- <input name='logs' type='checkbox' class='np' id="logs" value='false' /> -->
<input name="id[]" type="checkbox" class="np" id="logs" value="<?=$k?>"/>
<select name="seturl[type][]">
<option value="1"<?php echo $seturl['type'][$k]==1?' selected="selected"':''?>>显</option>
<option value="2"<?php echo $seturl['type'][$k]==2?' selected="selected"':''?>>隐■■■■■■</option>
</select> <input name="seturl[oldurl][]" type="text" value="<?php echo $seturl['oldurl'][$k]?>" size="45" />
to <input name="seturl[newurl][]" type="text" value="<?php echo $seturl['newurl'][$k]?>" size="45" />
</td>
</tr>
<?php
}
}
}
?>
<tr height="26" align="center" bgcolor="#FFFFFF" onMouseMove="javascript:this.bgColor='#FCFDEE';"
onMouseOut="javascript:this.bgColor='#FFFFFF';">
<td valign="top" style="padding-left:0px;">
<input name="id[]" type="checkbox" class="np" id="logs" value="<?=$k?>"/>
<select name="seturl[type][]">
<option value="1">显</option>
<option value="2">隐■■■■■■</option>
</select> <input name="seturl[oldurl][]" type="text" value="" size="45" />
to <input name="seturl[newurl][]" type="text" value="" size="45" />
</td>
</tr>
<tr id="fbox">
<td colspan="2" align="left" style="padding-left:20px;">
<a class="coolbg" onClick="ReSel();" >全选</a>
<a class="coolbg" onClick="SeSel();" >反选</a>
<a class="coolbg" onClick="DelSel();">删除</a>
<a class="coolbg" onClick="ShowSel();">显示</a>
<a class="coolbg" onClick="HideSel();">隐藏</a>
<input id="configSave" type="submit" value=" 保 存 "> <input id="add" type="button" value=" 新增加一条 "> (删除一条可清空该条保存)</td>
</tr>
</table>
</form>
</div><!--main-->
<script type="text/javascript">
$(function(){
$("#add").click(function(){
$("#fbox").before('<tr height="26" align="center" ><td valign="top" style="padding-left:0px"><input name="id[]" type="checkbox" class="np" id="logs" value="<?=$k?>"/><select name="seturl[type][]"><option value="1">显</option><option value="2">隐■■■■■■</option></select> <input name="seturl[oldurl][]" type="text" value="" size="45"> to <input name="seturl[newurl][]" type="text" value="" size="45"></td></tr>');
});
});
</script>
</body>
</html>
<?php
$seturl = array (
'type' =>
array (
0 => '1',
1 => '2',
2 => '2',
3 => '1',
4 => '1',
5 => '1',
6 => '1',
7 => '1',
8 => '1',
9 => '1',
),
'oldurl' =>
array (
0 => 'oldurl1',
1 => 'oldurl2',
2 => 'oldurl3',
3 => 'oldurl4',
4 => 'oldurl5',
5 => 'oldurl6',
6 => 'oldurl7',
7 => 'oldurl8',
8 => 'oldurl9',
9 => '33',
),
'newurl' =>
array (
0 => 'newurl1',
1 => 'newurl2',
2 => 'newurl3',
3 => 'newurl4',
4 => 'newurl5',
5 => 'newurl6',
6 => 'newurl7',
7 => 'newurl8',
8 => 'newurl9',
9 => '33',
),
);
?>
dopost=show的url请求 文件中好像没有吧
这里是点击保存按钮,实现修改选中项记录的功能
更改一条记录的流程:
用户选中第3条记录的复选框,
将其中的显示/隐藏和文本框字段修改为新值
然后点击保存按钮
提交给php文件处理,将传过来的数组为seturl的记录,数组下标为2的项 重新赋值
实现保存
另外,也可以将seturl的数组对应的值 全部重新赋值,这个是全篇保存了。