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---二十、如何写代码不容易犯错相关推荐

  1. 2008R2Win7管理二十六ADRMS客户端使用及侦错

    2008R2Win7管理二十六ADRMS客户端使用及侦错 预计我以后都没太多时间专研新技术和写文啦,尽量挤时间吧,有一篇放一篇吧,呵呵 本篇介绍在win7客户端使用adrms来进行权限管理和侦错,在使 ...

  2. Deep learning:二十二(linear decoder练习)

    前言: 本节是练习Linear decoder的应用,关于Linear decoder的相关知识介绍请参考:Deep learning:十七(Linear Decoders,Convolution和P ...

  3. 第一百二十六期:代码以外的生存之道,献给每位入了坑的码农

    本篇内容主要是对这本书的一个总结概括,也希望能用作抛砖引玉,让读者在看完之后,对这本书有所兴趣,或者希望能让读者对代码以外的需要做的事情更加积极明朗一点. 作者:码农三哥 前言 最近刚刚读完了一本书, ...

  4. Android笔记(二十):写一个图片文字识别SDK给自己用

    背景 市面上文字识别大多需要开通会员才能使用,所以决定自己封装一个sdk出来,供后面开发扫描类app提供便捷工具 效果 SDK API 初始化 需进行初始化才能使用sdk EasyOcrSDK.get ...

  5. 程序员自我修练-提高写代码的能力

    首先让我们看一看刚入软件公司会出现的情况: 1. 你可能会常常发现,写了一段代码后,编译程序时是一大堆的出错 (原因:语法不熟) ──别担心,这是每个程序员必须经历的事,这时候你就需要更大的耐心及细心 ...

  6. m_Orchestrate learning system---二十二、html代码如何变的容易

    m_Orchestrate learning system---二十二.html代码如何变的容易 一.总结 一句话总结:(结构清晰之后构建页面就变得超级容易了)(多做多用一下子就熟了) 1.文章显示页 ...

  7. m_Orchestrate learning system---二十九、什么情况下用数据库做配置字段,什么情况下用配置文件做配置...

    m_Orchestrate learning system---二十九.什么情况下用数据库做配置字段,什么情况下用配置文件做配置 一.总结 一句话总结: 配置文件 开发人员 重置 数据库 非开发人员 ...

  8. m_Orchestrate learning system---二十四、thinkphp里面的ajax如何使用

    m_Orchestrate learning system---二十四.thinkphp里面的ajax如何使用 一.总结 一句话总结:其实ajax非常简单:前台要做的事情就是发送ajax请求过来,后台 ...

  9. 用python写一个有AI的斗地主游戏(二)——简述后端代码和思路

    源码请看我的Github页面. 这是我一个课程的学术项目,请不要抄袭,引用时请注明出处. 本专栏系列旨在帮助小白从零开始开发一个项目,同时分享自己写代码时的感想. 请大佬们为我的拙见留情,有不规范之处 ...

最新文章

  1. 哪些人适合参加软件测试培训?
  2. Linux之eval命令使用
  3. c/c++素数距离问题
  4. 耐思尼克域名注册:通过icann之后和之前的那些小故事
  5. [UVA 10529]Dumb Bones
  6. musictools(无损付费音乐免费下载神器) 最新版 v3.7.0
  7. BLP防数据泄露安全操作系统:道里云公司参展英特尔北京IDF峰会产品介绍(二)
  8. 【数字信号处理】基本序列 ( 复指数序列 | 单位复指数序列 | 复变函数欧拉公式 )
  9. 常微分方程求解器ODE solver
  10. Transformer模型详解
  11. 10款iOS高效开发必备的Objective-C类库(转)
  12. 【产业互联网周报】AI独角兽们集体亮相安博会,侧重点各不相同;BAT智慧城市布局进一步加深...
  13. 讲真,你绝对是第一次看到如此全面的贴片电阻知识
  14. SpringCloud简介---01
  15. 张俊林:当前炼制“大语言模型”的两个现象
  16. matlab 使得三维图形可以手动旋转,三维图形的平移,旋转与错切
  17. 前端实现input标签输入框密码框显示文字效果
  18. 如何用 js 获取虚拟键盘高度?(适用所有平台)
  19. PyQt+Opencv-python多线程显示摄像头信息至QLabel,摄像头显示区域自由拉伸尺寸
  20. recaptcha v2_reCAPTCHA v2 vs v3 – reCAPTCHA v2和v3之间的区别

热门文章

  1. BZOJ-1008 越狱
  2. webService 使用CXF 实现简单的helloworld
  3. pycharm的中自定义库和关键字_Python“库”在树莓派中的应用解析
  4. str转list_数据运算030篇字符串处理str_dec的局限
  5. 转载:矩阵的掩膜操作实现图像对比度调整
  6. Python 3.9.1 安装教程
  7. Android studio | From Zero To One ——安装教程及前期学习总结
  8. 问题 | fatal: open /dev/null or dup failed: No Such file or directory
  9. 计算机程序无法运行,win7电脑程序打不开解决方法
  10. WSAStartup()函数以及DLL的加载