我们在企业网站建设 www.yoz.cc中,经常会遇到一些客户的量身定制要求,所以有些现有的程序是不能满足的,要自己来开发才行。前几天就有一客户做LED软灯条 www.ledrdt.com的,要求网站后台可以多选产品分类,就是说发布的时候产品一级分类和多级分类可以多选,产品发布的多选好做,但是从数据库读出数据并且显示已经选择的就不这么容易了,也许是自己太笨了吧,想了一两天才把它完成。
总结了一下,主要用到的是PHP中的explode()和in_array()函数,explode用于切分发布之前的多个选择ID,生成新数组,修改的时候只要用in_array()函数对比一下现有的checkedbox表单中的对应值是否存在于切分后的这个新数组中,如果存在则显示checked,如不存在则不显示checked。代码不多,但是非常实用,希望给其它需要的朋友吧,老鸟就不要围观了。以下是我截取出来的一小段代码,相信不难理解吧。有问题上企业建网站 www.yoozhan.com上CALL一下在线客服就行了哇。
以下代码部分:
<?php
/**
*
*代码名称:checked修改
*代码作者:刘康永
*修改日期:2012-12-3
*修改原因:LED软灯条产品多项选择分类修改
*完成进度:已经完成
*作用简介:用于html中对checked多项表单修改时使用,主要运用到php中的函数如explode和in_array这两个参数
*
*/
$sqlone="SELECT * FROM two_menu order by id asc";
$resultone=mysql_query($sqlone);
while($rowTwo=mysql_fetch_assoc($resultone)){
//获取原二级分类值
$allId = $row['type2'];
//分开原二级分类的值(数据写入后成为了数组)
$nowAllId=explode(',',$allId);
if(in_array($rowTwo['id'],$nowAllId)){
?>
<input name="ID_Dele[]" id="ID_Dele[]" type="checkbox" name="type2" value="<?php echo $rowTwo['id'] ?>" checked="checked" />
<?php echo $rowTwo['name_menu'];?>
<?php
}else{
?>
<input name="ID_Dele[]" id="ID_Dele[]" type="checkbox" name="type2" value="<?php echo $rowTwo['id'] ?>" />
<?php echo $rowTwo['name_menu']; ?>
<?php
}
}
?>
以下是预览效果图:
是不是很简单呀~希望能帮到你。