@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的数组对应的值 全部重新赋值,这个是全篇保存了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。