PHP中checkbox用法,php中checkbox的应用

checkbox全选

                 选中所有显示记录 if ( !ini_get('register_globals') ) {    extract($_POST);    extract($_GET);    extract($_SERVER);    extract($_FILES);    extract($_ENV);    extract($_COOKIE);        if ( isset($_SESSION) )    {        extract($_SESSION);    } } if ($op){ $aa=count($come); if($aa==0){ echo ""; }else{ echo 你刚才选择的内容:; for($i=0;$i<=$aa;$i++){ echo $come[$i] ; } echo '
'; } } ?> 无标题文档 你可以通过数组来做到这一点,请选择: >
1。
2。
3。
4。 TOP>>    用PHP+MYSQL实现论坛里的分级+分页显示 更新时间:2005-10-31  浏览次数: 17 /*存放贴子的表结构------------------------------------------------------ create table bbsrow( bbsrow_id int(6) not null auto_increment, //贴子ID号 bbsrow_auth varchar(20) not null, //贴子作者 bbsrow_parentid int(6), //贴子的父亲贴子ID号,如为首发贴则为空 bbsrow_title varchar(200) not null, //贴子标题 bbsrow_returncount int(3), //贴子的回复贴数,如果没有回贴则为空 primary key (bbsrow_id) ); -----------------------------------------------------------------------------*/ //显示儿子贴的递归函数-------------------------------------------------- function showchildren($parent_id){ global $connect_id; $query="select * from bbsrow where bbsrow_parentid='" . $parent_id . "'"; $result_top=mysql_query($query,$connect_id); echo "
  • n"; while($myrow_child=mysql_fetch_row($result_top)){ echo "
  • "; echo $myrow_child[0]; echo $myrow_child[1]; echo $myrow_child[2]; echo $myrow_child[3]; echo $myrow_child[4] . "n"; //如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴 if($myrow_child[4]!=''){ showchildren($myrow_child[0]); } } echo "
"; } //---------------------------------------------------------------------- //连接数据库并将所有首发贴放到$mainrow数组里---------------------------- $connect_id=mysql_connect("localhost","test","test") or die("无法连接数据库"); mysql_select_db("bbs") or die("无法选择数据库"); $query="select * from bbsrow where bbsrow_parentid=''"; $result=mysql_query($query,$connect_id); $i=0; while($myrow=mysql_fetch_row($result)) { $mainrow[$i][0]=$myrow[0]; $mainrow[$i][1]=$myrow[1]; $mainrow[$i][2]=$myrow[2]; $mainrow[$i][3]=$myrow[3]; $mainrow[$i][4]=$myrow[4]; $i++; } mysql_free_result($result); //---------------------------------------------------------------------- //开始构建分页显示------------------------------------------------------ if($currentpage!=""){ $page=$currentpage; } else{ $page=0; } $pagesize=10;//每页显示的首发贴数! $start=$page*$pagesize; $end=$start+$pagesize; if($end>$i) $end=$i; $totalpage=$i/$pagesize; $info=" 共有" . $i . "条纪录,分" . ceil($totalpage) . "页,当前为第" . ($page+1) . "/" . ceil($totalpage) . "页
n"; echo $info; if($page>0) $pagestr=" 上一页"; $pagestr=$pagestr . " [第 "; for($i=0;$i" . ($i+1) . " "; } else{ $pagestr=$pagestr . " " . ($i+1) . " "; } } $pagestr=$pagestr . "页]"; if($page下一页

n"; echo $pagestr; //---------------------------------------------------------------------- //开始分级显示---------------------------------------------------------- echo "

  • n"; for($i=$start;$in"; echo $mainrow[$i][0]; echo $mainrow[$i][1]; echo $mainrow[$i][2]; echo $mainrow[$i][3]; echo $mainrow[$i][4] . "n"; //如果回复贴数不为空,则表示有儿子贴,继续显示儿子贴 if($mainrow[$i][4]!=''){ showchildren($mainrow[$i][0]); } } echo "
n"; //----------------------------------------------------------------------?> PHP接收多个同名复选框信息不像ASP那样自动转换成为数组,这给使用带来了一定不便。但是还是有解决办法的,就是利用javascript做一下预处理。多个同名复选框在javascript中还是以数组的形式存在的,所以在表单提交之前可以利用javascript把复选框中的信息组合成一个字符数组赋值给表单中的隐藏元素,然后用PHP中的explode函数解析此数组,这样就可以实现复选框信息的传递了。下面举例说明。   假设有这样一个表单: <form name="form1" id="form1" method="post" action="myphp.php" onSubmit="return Checker()"> <input type="checkbox" name="item" value="1">1 <input type="checkbox" name="item" value="2">2 <input type="checkbox" name="item" value="3">3 <input type="checkbox" name="item" value="4">4 <input type="hidden" name="items" value=""> <input type="submit" value="Submit"> </form>   这个表单有四个名字都是item的复选框,当用户单击Submit按钮的时候,Checker函数会被调用,并且如果Checker返回true表单就被提交,返回false表单就不会被提交。这里Checker函数就是我们要编写的预处理函数。在HTML的header部分添加下面的javascript: <script language="javascript"> <!-- function Checker() {  form1.items.value = "";  if ( !form1.item.length ) // 只有一个复选框,form1.item.length = undefined  {   if ( form1.items.checked )    form1.items.value = form1.item.value;  }  else  {   for ( i = 0 ; i < form1.item.length ; i++ )   {    if ( form1.item(i).checked ) // 复选框中有选中的框    {     form1.items.value = form1.item(i).value;     for ( j = i + 1 ; j < form1.item.length ; j++ )     {      if ( form1.item(j).checked )      {       form1.items.value += " "; //用空格做分割符       form1.items.value += form1.item(j).value;      }     }     break;    }   }  }  return true; } --> </script>     这样就可以把所有选中的复选框的value组合成为一个字符串数组,在myphp.php使用这样的语句: $items = explode(" ", $HTTP_POST_VARS["items"]);     就可以把这些选项分离出来成为数组。需要注意的是选项中的value不能包含分割符(这里是空格)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值