m_Orchestrate learning system---二十、如何写代码不容易犯错
m_Orchestrate learning system---二十、如何写代码不容易犯错
一、总结
一句话总结:能排序多排序
这次查错的启示:
1、代码数据更规整:要是取出的数据排序的话可以减少很多查错时间
2、多做练习:功积平时,用起来不容易出错,反而节约超多时间
3、循环里面的判断正误:判断正确是要返回的,判断错误不能立即返回,如果错误要所有的全部判断出来再返回
1、复选框如何传递多个值到后端?
复选框参数传递用数组方式
<input type="checkbox" checked="" name="gttid[]" value="{$vo.id}"> {$vo.name}
1、name="gttid[]" 这之中gttid[] 是纯粹的字符串,而不是和php原生代码相关的东西,不要看到[] 就觉得和代码相关,这里只是字符串
2、value="{$vo.id}" 页面带{}的是标签,才是和php代码相关的东西
2、html标签中需要套用php写逻辑怎么操作?
php标签{php}可解决html中标签中嵌套原生php的问题
<input type="checkbox" {php} if(checkId($vo['id'])) echo 'checked="checked"'; {/php} checked="checked" name="gttid[]" value="$vo.id">{$vo.name}
这样就非常棒棒了,就是标签可以实现的功能都可以用原生php来实现
3、在html页面中调用原生php函数接收控制器assign来的数据(在函数中,所以变量要global啊)?
<!-- 作者: 隐藏域 --> <input type="hidden" name="gtgid" value="{$dataout2.gid}"> <!-- 作者: 隐藏域 --> <?php function checkId($id){ global $dataGroupTopic; //1、在函数中,所以变量要global啊 foreach($dataGroupTopic as $k => $val){ if($val['gttid']==$id){ return true; }else{ return false; } } } ?> <div class="am-form-group">
在函数中,所以变量要global啊
4、view页面原生php中的函数访问不到控制器传过来的数据问题?
1 <input type="hidden" name="gtgid" value="{$dataout2.gid}"> 2 <!-- 作者: 隐藏域 --> 3 4 <?php 5 $data22=$dataGroupTopic; //1、这里可以访问到控制器传过来的数据 6 //dump($data22);die; 7 function checkId($dataGroupTopic,$id){ //4、所以只有用传参数的方式了 8 //dump($GLOBALS['data22']);die; //2、这里访问不到控制器传过来的数据 9 //global $dataGroupTopic; //3、这里访问不到控制器传过来的数据 10 //dump($dataGroupTopic);die; 11 foreach($dataGroupTopic as $k => $val){ 12 if($val['gttid']==$id){ 13 dump($id);die; 14 return true; 15 }else{ 16 return false; 17 } 18 } 19 } 20 ?> 21 <div class="am-form-group">
5、页面多选框显示数据只能显示一个的问题?
正确的:
错误的: 页面看到的是显示的最后一个,其实在数据库里面是显示的第一个
面看到的是显示的最后一个,其实在数据库里面是显示的第一个
因为添加去数据库的时候是从小往上添加的,所以最大的数据显示在最上面
这样就误导我了
所以要我是从数据库里面取数据的时候按照id排一下序,那么我就知道我是只显示第一个了
然后就好找错误了
1 <input type="hidden" name="gtgid" value="{$dataout2.gid}"> 2 <!-- 作者: 隐藏域 --> 3 4 <?php 5 function checkId($dataGroupTopic,$id){ 6 foreach($dataGroupTopic as $k => $val){ 7 if(intval($val['gttid'])==intval($id)){ 8 return true; 9 }else{ //1、错误是循环还没有比较完,就直接返回false了,去掉这句话就对了,所以要多练习,不然查错很不好查 10 return false; 11 } 12 } 13 } 14 ?> 15 <div class="am-form-group"> 16 <label for="user-phone" class="am-u-sm-3 am-form-label">topic</label> 17 <div class="am-u-sm-9 am-checkbox"> 18 <ul class="am-avg-sm-3 am-thumbnails"> 19 20 {volist name="dataout" id="vo"} 21 <!-- 做复选框选择判定 --> 22 <li> 23 <label class="am-checkbox-inline"> 24 <?php 25 /* 26 foreach($dataGroupTopic as $k => $val){ 27 if($val['gttid']==$vo['id']){ 28 //dump($val['gttid']); 29 echo '<input type="checkbox" checked="checked" name="gttid[]" value="'.$vo['id'].'">'; 30 }else{ 31 echo '<input type="checkbox" name="gttid[]" value="'.$vo['id'].'">'; 32 } 33 } 34 //dump($dataGroupTopic); 35 */ 36 ?> 37 <input type="checkbox" {php} if(checkId($dataGroupTopic,$vo['id'])) echo 'checked="checked"'; {/php} name="gttid[]" value="{$vo.id}">{$vo.name} 38 </label> 39 </li> 40 {/volist} 41 </ul> 42 </div> 43 </div>
这次查错的启示:
1、代码数据更规整:要是取出的数据排序的话可以减少很多查错时间
2、多做练习:功积平时,用起来不容易出错,反而节约超多时间
3、循环里面的判断正误:判断正确是要返回的,判断错误不能立即返回,如果错误要所有的全部判断出来再返回
二、内容在总结中
m_Orchestrate learning system---二十、如何写代码不容易犯错相关推荐
- 2008R2Win7管理二十六ADRMS客户端使用及侦错
2008R2Win7管理二十六ADRMS客户端使用及侦错 预计我以后都没太多时间专研新技术和写文啦,尽量挤时间吧,有一篇放一篇吧,呵呵 本篇介绍在win7客户端使用adrms来进行权限管理和侦错,在使 ...
- Deep learning:二十二(linear decoder练习)
前言: 本节是练习Linear decoder的应用,关于Linear decoder的相关知识介绍请参考:Deep learning:十七(Linear Decoders,Convolution和P ...
- 第一百二十六期:代码以外的生存之道,献给每位入了坑的码农
本篇内容主要是对这本书的一个总结概括,也希望能用作抛砖引玉,让读者在看完之后,对这本书有所兴趣,或者希望能让读者对代码以外的需要做的事情更加积极明朗一点. 作者:码农三哥 前言 最近刚刚读完了一本书, ...
- Android笔记(二十):写一个图片文字识别SDK给自己用
背景 市面上文字识别大多需要开通会员才能使用,所以决定自己封装一个sdk出来,供后面开发扫描类app提供便捷工具 效果 SDK API 初始化 需进行初始化才能使用sdk EasyOcrSDK.get ...
- 程序员自我修练-提高写代码的能力
首先让我们看一看刚入软件公司会出现的情况: 1. 你可能会常常发现,写了一段代码后,编译程序时是一大堆的出错 (原因:语法不熟) ──别担心,这是每个程序员必须经历的事,这时候你就需要更大的耐心及细心 ...
- m_Orchestrate learning system---二十二、html代码如何变的容易
m_Orchestrate learning system---二十二.html代码如何变的容易 一.总结 一句话总结:(结构清晰之后构建页面就变得超级容易了)(多做多用一下子就熟了) 1.文章显示页 ...
- m_Orchestrate learning system---二十九、什么情况下用数据库做配置字段,什么情况下用配置文件做配置...
m_Orchestrate learning system---二十九.什么情况下用数据库做配置字段,什么情况下用配置文件做配置 一.总结 一句话总结: 配置文件 开发人员 重置 数据库 非开发人员 ...
- m_Orchestrate learning system---二十四、thinkphp里面的ajax如何使用
m_Orchestrate learning system---二十四.thinkphp里面的ajax如何使用 一.总结 一句话总结:其实ajax非常简单:前台要做的事情就是发送ajax请求过来,后台 ...
- 用python写一个有AI的斗地主游戏(二)——简述后端代码和思路
源码请看我的Github页面. 这是我一个课程的学术项目,请不要抄袭,引用时请注明出处. 本专栏系列旨在帮助小白从零开始开发一个项目,同时分享自己写代码时的感想. 请大佬们为我的拙见留情,有不规范之处 ...
最新文章
- 哪些人适合参加软件测试培训?
- Linux之eval命令使用
- c/c++素数距离问题
- 耐思尼克域名注册:通过icann之后和之前的那些小故事
- [UVA 10529]Dumb Bones
- musictools(无损付费音乐免费下载神器) 最新版 v3.7.0
- BLP防数据泄露安全操作系统:道里云公司参展英特尔北京IDF峰会产品介绍(二)
- 【数字信号处理】基本序列 ( 复指数序列 | 单位复指数序列 | 复变函数欧拉公式 )
- 常微分方程求解器ODE solver
- Transformer模型详解
- 10款iOS高效开发必备的Objective-C类库(转)
- 【产业互联网周报】AI独角兽们集体亮相安博会,侧重点各不相同;BAT智慧城市布局进一步加深...
- 讲真,你绝对是第一次看到如此全面的贴片电阻知识
- SpringCloud简介---01
- 张俊林:当前炼制“大语言模型”的两个现象
- matlab 使得三维图形可以手动旋转,三维图形的平移,旋转与错切
- 前端实现input标签输入框密码框显示文字效果
- 如何用 js 获取虚拟键盘高度?(适用所有平台)
- PyQt+Opencv-python多线程显示摄像头信息至QLabel,摄像头显示区域自由拉伸尺寸
- recaptcha v2_reCAPTCHA v2 vs v3 – reCAPTCHA v2和v3之间的区别
热门文章
- BZOJ-1008 越狱
- webService 使用CXF 实现简单的helloworld
- pycharm的中自定义库和关键字_Python“库”在树莓派中的应用解析
- str转list_数据运算030篇字符串处理str_dec的局限
- 转载:矩阵的掩膜操作实现图像对比度调整
- Python 3.9.1 安装教程
- Android studio | From Zero To One ——安装教程及前期学习总结
- 问题 | fatal: open /dev/null or dup failed: No Such file or directory
- 计算机程序无法运行,win7电脑程序打不开解决方法
- WSAStartup()函数以及DLL的加载