精华内容
下载资源
问答
  • 2016-10-27 13:02:05

     在PHP开发中,表单提交应该非常常用,在所有表单数据中,对于初学者,比较难的恐怕就是复选和多选这种提交数组的处理和上传处理,今天不说上传,就说说处理复选和多选下拉列表。一个复选和多选表单如下

    <html>
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
    <title>php获取 checkbox复选框值的方法</title> 
    </head> 
    <body> 
    <form name="form1" method="post" action="testmultiform.php"> 
    <label> 
    <input type="checkbox" name="checkbox[]" value="cb1"> 
    复选一 
    </label> 
    <label> 
    <input type="checkbox" name="checkbox[]" value="cb2"> 
    </label> 
    复选二 
    <label> 
    <input type="checkbox" name="checkbox[]" value="cb3"> 
    </label> 
    复选三 
    <label> 
    <input type="checkbox" name="checkbox[]" value="cb4"> 
    </label> 
    复选四 
    <label> 
    <input type="submit" name="Submit" value="提交"> 
    </label> 
    </form> 
    </body> 
    </html> 
    
    <?php
    if( $_POST ) 
    { 
    	$value = $_POST['checkbox']; 
    	foreach($value as $onevalue){
    		echo $onevalue;
    	}
    	echo '你选择了:'.implode(',',$value); 
    	//由于checkbox属性,我们必须把checkbox复选择框的名字设置为一个如果checkbox[],这样php才能读取,以数据形式,否则不能正确的读取checkbox复选框的值哦。
    } 
    ?> 


    折里[]是php特有的,其他如.net、java是没有的,php如果不加的话是接收不到这些数据的。接收数据$arrc = $_POST['c'];$arrlist = $_POST['list'];这里收到的都是数组,一般不直接存入数据库,而是转换成字符串存入,就像 1,2,3这种形式,对于非数字字符串,存储数据库以后要想显示比较方便,直接读取显示,而对于数字字符串,我们一般有可能用这些数字所代表的id去数据库中充当条件,查询数据,所以使用的时候还要把这些字符串还原成数组,然后通过循环来查询显示。

        数组与字符串转换的函数主要就是implode用来转换成字符串,explode用来还原成数组,如果只是存入数据库,serialize函数更好,用来数据序列化存入数据库,取出我们用unserialize来还原成数组,非常方便,这就是两种用来常用处理数组存储到数据库,有没有更好的我不知道,我在开发中就是主要用的这两种。

    implode(separator,array) implode() 函数返回由数组元素组合成的字符串。
    参数 描述
    separator 可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。
    array 必需。要组合为字符串的数组。

    语法

    explode(separator,string,limit) explode() 函数把字符串打散为数组。 注释:"separator" 参数不能是空字符串。
    参数 描述
    separator 必需。规定在哪里分割字符串。
    string 必需。要分割的字符串。
    limit

    可选。规定所返回的数组元素的数目。

    可能的值:

    • 大于 0 - 返回包含最多 limit 个元素的数组
    • 小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组
    • 0 - 返回包含一个元素的数组

    更多相关内容
  • ElementUI Checkbox 多选框

    千次阅读 2021-02-25 19:31:08
    适用于多个勾选绑定到同一个数组的情景,通过是否勾选来表示这一组选项选中的项。 二、代码实现 test.vue <template> <div style="width: 70%;margin-left: 30px;margin-top: 30px;"> <el-...

    一、概述

    适用于多个勾选框绑定到同一个数组的情景,通过是否勾选来表示这一组选项中选中的项。

    二、代码实现

    test.vue

    <template>
      <div style="width: 70%;margin-left: 30px;margin-top: 30px;">
        <el-checkbox-group v-model="checkList">
          <el-checkbox v-for="item in itemList" :key="item.id" :label="item.name" :value="item.id"></el-checkbox>
    <!--      <el-checkbox label="复选框 A"></el-checkbox>-->
    <!--      <el-checkbox label="复选框 B"></el-checkbox>-->
    <!--      <el-checkbox label="复选框 C"></el-checkbox>-->
        </el-checkbox-group>
      </div>
    </template>
    
    <script>
      export default {
        data() {
          return {
            // 所有列表
            itemList:[
              {
                id: 1,
                name: "复选框 A"
              },
              {
                id: 2,
                name: "复选框 B"
              },
              {
                id: 3,
                name: "复选框 C"
              },
            ],
            // 选中列表
            checkList: ['复选框 A','复选框 C']
          }
        },
      }
    </script>
    
    <style>
    </style>
    
    View Code

    访问页面,效果如下:

    注意:checkList里面的值,必须和页面显示的一致,才能选中。

    本文参考链接:

    https://element.eleme.io/#/zh-CN/component/checkbox

    展开全文
  • select2 多选框

    千次阅读 2019-07-03 15:55:25
    之前做Php项目的时候有一个业务需求是需要给人员安排多个部门,且部门有二级分布,即做一个多选框,复选框样式有点小丑,就想选一个自己看着可以的,就找到了现在我使用的这个select2多选框,官网有许多可供选择的...

    之前做Php项目的时候有一个业务需求是需要给人员安排多个部门,且部门有二级分布,即做一个多选框,复选框样式有点小丑,就想选一个自己看着可以的,就找到了现在我使用的这个select2多选框,官网有许多可供选择的满足不同需求的选择框,包含单选、多选等(select2官网),我选择了一个符合自己需求的来做的,自行挑选,以下以我选择的案例书写。

    一、效果演示

    效果如下图所示:箭头指向的粗体为一级部门,圈住的为二级部门(因为需求是需要一级下对应的二级部门),选中的二级部门会在部门展示下拉面板显示为灰色,选中的展示框会显示选中的部门且在前面带一个❌,可点击删除,即部门展示面板选择灰色会即可取消。

    多选框

    多选框

    二、实现准备

    根据官网指示,在项目中需要导入一个css文件和两个js文件,可以下载到本地也可以直接使用他提供的路径

    <script type="text/javascript" src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/css/select2.min.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.6-rc.0/js/select2.min.js"></script>

     

    在html中添加代码(我是直接在项目中拷贝出来的,将实现代码更改为自己的el语法就好,我这个是在php项目中做的)

    select是展示部门的面板,optgroup是一级部门,option是二级部门

    <div>
        <input type="hidden" id="select_id" name="select_id" value=""/>
        <select id="mySelect" class="js-example-basic-multiple" value="" name="states[]" multiple="multiple" style="width:750px;height:30px" >
        <{foreach from=$cool_list item="detest" name="detest"}>
        <optgroup label="<{$detest.name}>">
              <{foreach from=$detest.sub item="deson" name="deson"}>
              <option value="<{$deson.name}>"><{$deson.name}></option>
              <{/foreach}>
         </optgroup>
         <{/foreach}>
       </select>
    </div>

    在js中还需填加一些内容,subsub()方法是我在提交按钮处写的一个向后台传值的事件,因为真正的传值是在input的那个隐藏表单里进行的,所以往后台传值就需要事件进行触发,但是在select上添加事件无法触发,这个也是当时自己纠结好久的地方。至于后面的两个方法是为了编辑进入的时候可以展示原有选中的部门和可以直接根据❌删除,看自己需求是否需要咯。还有需要注意的因引入了jQuery所以原本我只有js的部门需要进行一定的修改,比如元素定位,为了不与原有代码冲突,都只能用最基本的id和class定位,这里也是一个坑。

    <script> 
        function subsub(){
            var lis = document.getElementsByClassName('select2-selection__choice');
            if(lis.length>0){
                var str = '';
                for(var i=0;i<lis.length;i++){
                    if(lis[i].getAttribute('title')){
                        str += lis[i].getAttribute('title')+',';
                    }
                }
                document.getElementById('select_id').setAttribute('value',str);
            }
            document.getElementById('form_savePresales').submit();
        }
    
        $(document).ready(function() {
            $('.js-example-basic-multiple').select2({
                // data:'$depentListFirsts',
                // placeholder: 'This is my placeholder',
                // allowClear: true,
            });
            var mySelect = '<{$list}>';
            if(mySelect){
                var listval =mySelect.split(',');
                for(var j = 0;j<listval.length;j++){
                    htmlStr = '<li class="select2-selection__choice" id="removeli'+j+'"  title="'+listval[j]+'" ><span class="select2-selection__choice__remove" id="remove'+j+'" onclick="remove('+j+')" role="presentation">×</span>'+listval[j]+'</li>';
                    $(".select2-selection__rendered").prepend(htmlStr);
                }
            }
        });
        function remove(j){
                var idObject = document.getElementById('remove'+j);
                var idObjectli = document.getElementById('removeli'+j);
                if (idObject != null){
                    idObjectli.parentNode.removeChild(idObjectli);
                }
        }
    </script>

     

    展开全文
  • TP5 编辑多选框 选择的标出来

    千次阅读 2017-09-28 18:11:09
    1、先公共文件添加函数“查询字符串数组出现的次数“ 路径:application/common.php //计算$string$array(需为数组)重复出现的次数 function get_array_repeats(array $array,$string) { $...

    通过字符在数组出现的次数来说明是否选中

    1、先在公共文件添加函数“查询字符串在数组中出现的次数“

    路径:application/common.php


    //计算$string在$array(需为数组)中重复出现的次数  
    function get_array_repeats(array $array,$string) {  
      
            $count = array_count_values($array);  
            //统计中重复元素的次数,再重组数组,   
            //打印array_count_values($array)出,结果:  
            //Array(  
            //    [1] => 2  
            //    [hello] => 2  
            //    [world] => 1  
            //)  
            if (key_exists($string,$count)){  
              return $count[$string];  
            }else{  
                return 0;  
            }  
    }  


    模块中代码

                <div class="layui-form-item">
                  <label class="layui-form-label">权限</label>
                  <div class="layui-input-block">
                    <input type="checkbox" name="manage[]" value="1" title="增加" {if condition="get_array_repeats(explode(',',$rsEdit.manage),1) > 0"}checked{/if}>
                    <input type="checkbox" name="manage[]" value="2" title="修改" {if condition="get_array_repeats(explode(',',$rsEdit.manage),2) > 0"}checked{/if}>
                    <input type="checkbox" name="manage[]" value="3" title="删除" {if condition="get_array_repeats(explode(',',$rsEdit.manage),3) > 0"}checked{/if}>
                    <input type="checkbox" name="manage[]" value="4" title="导出" {if condition="get_array_repeats(explode(',',$rsEdit.manage),4) > 0"}checked{/if}>
                  </div>
                </div>


    说明:

    {if condition="get_array_repeats(explode(',',$rsEdit.manage),1) > 0"}

    explode(',',$rsEdit.manage)  把数据(1,2,3,4)转为数组

    get_array_repeats(explode(',',$rsEdit.manage),1) > 0  判断1在数组出现的次数,大于0,说明就存在1,选中,=0说明没有,就是没有选中



    展开全文
  • 思路: 通过给搜索设置点击事件,oninput 当input的value值发生变化时就会触发,(与onchange的区别是不用等到失去焦点就可以触发了)
  • 如何用PHP来判断提交的表单哪些复选框被选中,并读取其中的数据呢。 首先建立一个表单: 1 2 3 4 5 6 7 8 form.html form action=checkbox.php method=post> input name="s[]" type=...
  • layui.use('form', function(){ var form = layui.form(); form.render(); });
  • ztree指定节点 设置复选框

    万次阅读 2018-03-28 16:16:02
    ztree指定节点 设置复选框 首先,需引入ztree的js文件 &amp;amp;amp;amp;amp;amp;amp;lt;script src=&amp;amp;amp;amp;amp;amp;quot;../../assets/ztree/js/jquery.ztree.core-3.5.min.js&amp...
  • windows的资源管理器窗口,其左边窗口显示内容是“系统的文件夹树”。“资源管理器”窗口,左边的文件夹窗口以树形目录的形式显示文件夹,右边的文件夹内容窗口是左边窗口所打开的文件夹内容。 文件...
  • 利用4种不同的动态开发语言(Java、PHP、Go、Nodejs)设计并实现从MySQL数据库读取数据到浏览器中显示
  • 鼠标移动到隐藏内容显示提示,鼠标停留提示时依旧显示。鼠标离开提示和隐藏内容时提示消失。使用时配合table是固定宽度,将超过宽度的多余信息予以用省略号显示。将tableCSS设置为table-layout: ...
  • 单元格下拉框实现复选框多选 将复选框链接到带有宏的单元格 (Link Check Boxes to Cells With a Macro) You can use check boxes on a worksheet, and link the results to a cell. If the box is checked, the cell...
  • 18、HTML复选框checkbox

    千次阅读 2020-10-30 10:36:15
    标签的 type 属性设置为 checkbox 可以实现多选框的效果。具体语法格式如下: <input type="checkbox" /> 1. 复选框的常用属性 复选框的常用属性: checked ----用来规定页面加载时
  • &lt;body&gt; 2 &lt;div&gt; 3 &lt;input type="...复选框1 4 &lt;input type="checkbox" name="check" value="2"/&gt;复选框2 5
  • HTML 表单

    千次阅读 2020-12-21 02:29:34
    在线实例创建文本字段 (Text field)本例演示如何 HTML 页面创建文本域。用户可以文本域写入文本。...表单元素是允许用户表单输入内容,比如:文本域(textarea)、下拉列表、单选(radi...
  • 需要实现一个功能:QT的TreeView,能够使用复选框,并且选中父节点的复选框可以全选或取消子节点的复选框。这里就以QT附带的simpletreemodel项目为例,说明一下其用法。simpletreemodel项目的路径通常qt目录的...
  • < form action= "" method= "post" > < input type= "hidden" name= "group_id" value= "{$group_id}" > < volist name= 'pandas' id= 'panda' > < tr ...用数组作为复选框的name值.
  • 使用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,html有两种选择框,即单选框和复选框,两者的区别是单选框的选项用户只能选择一项,而复选框中用户可以任意选择项,甚至全选。...
  • 单选框和复选框

    千次阅读 2017-06-08 22:40:35
    1、单选框以及复选框的使用 单选框以及复选框的使用 性别: 男 女 爱好: 篮球 足球 跑步
  • FastAdmin多选下拉列表排序问题

    千次阅读 2019-08-15 14:45:30
    FastAdmin多选下拉列表排序问题 使用fastadmin的过程,可能出现多选需要排序的问题 比如类型选择的时候选择的是如下顺序 但是保存后,去修改页面发现排序变成如下 如果需要改成按照开始的排序修改 ...
  • checkbox复选框的post传值

    万次阅读 2015-08-07 10:54:15
    php获取 checkbox复选框值的方法            复选一          复选二        复选三        复选四              if( $_POST )  {  $value = $_POST['...
  • php如何获取select下拉列表的值

    千次阅读 2021-03-23 20:10:42
    然后表单提交后使用$_POST['name属性值']或$_GET['name属性值']获取select下拉列表的值即可。php获取select下拉列表的值首先需要给select标签设置name属性,然后表单提交后,用 $_POST 或 $_GET 方式获取提交的值...
  • 本来以为只是很简单的东西,但是实际修改起来却碰到不少bug,多选框无法选中,给多选框赋默认值等。这里记录一下 二、修改单选下拉框为多选下拉框 echo $form-&gt;field($model, 'project_id', [ '...
  • php框架是什么?

    千次阅读 2017-08-10 13:49:32
    框架思想就是提供一种可以在多个应用程序使用的设计。所有应用程序都有大量通用的基本内容 —— 具体地说,就是某类与数据库的接口、某些应用程序逻辑、应用程序呈现给用户的内容等。如果您编写过许多 PHP 应用...
  • CListCtrl 虚拟列表显示选框

    千次阅读 2011-09-27 10:39:32
    用ClistCtrl控件显示大量数据的时候速度相当慢,而且对内存的占用也是相当大,特别是针对数据库数据显示的时候,因为数据库的数据量一般都比较庞大,所以如果使用默认的CListCtrl控件就显得力不从心了,那么...
  • 那么提前掌握最新的PHP面试题,必然能使你求职过程事半功倍! 以下这些php面试题,希望能帮你进入你自己喜欢的公司,拿到自己最理想的收入!!! 二、PHP面试题整理大全如下 可以关注博主的微信公众号 ...
  • 一、复选框能够进行项目的项选择,浏览者填写一些表单时,有时需要选择个项目(如:兴趣爱好等)  复选框一般是个同时存在,为了便于传值,name的名字可以定义为数组形式:  返回页面可以用count...
  • [1]radio和checkbox及php select默认选择的实现代码  来源: 互联网 发布时间: 2013-12-24 ...2、checkbox 复选框的默认选择实现 代码示例: >家 具 name="fujia_chuju" type="checkbox" v
  • PHP判断表单复选框选中状态的例子

    千次阅读 2014-06-25 06:14:41
    网页表单经常用到复选框,那么如何用PHP来判断提交的表单哪些复选框被选中,并读取其中的数据呢。 首先建立一个表单:form.html 3 7 1 15 然后建立一个处理表单的程序:checkbox.php $a=$_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,103
精华内容 17,241
关键字:

多选框内容在php中显示