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---二十、如何写代码不容易犯错的更多相关文章
- m_Orchestrate learning system---二十一、怎样写算法比较轻松
m_Orchestrate learning system---二十一.怎样写算法比较轻松 一.总结 一句话总结:(1.写出算法步骤,这样非常有利于理清思路,这样就非常简单了 2.把问题分细,小问题用 ...
- m_Orchestrate learning system---十二、为什么thinkphp验证场景里面的多个属性之间是逗号
m_Orchestrate learning system---十二.为什么thinkphp验证场景里面的多个属性之间是逗号 一.总结 一句话总结:因为是数组啊 1 protected $scene ...
- Vue(二十五)打包后路径报错问题
1.修改 config - index.js 2.修改 build - utils.js
- m_Orchestrate learning system---二十二、html代码如何变的容易
m_Orchestrate learning system---二十二.html代码如何变的容易 一.总结 一句话总结:(结构清晰之后构建页面就变得超级容易了)(多做多用一下子就熟了) 1.文章显示页 ...
- m_Orchestrate learning system---三十二、数据库字段判断为空时容易出现问题,如何从根本上解决这个问题
m_Orchestrate learning system---三十二.数据库字段判断为空时容易出现问题,如何从根本上解决这个问题 一.总结 一句话总结:字段禁止为空,设置默认值0即可 禁止 空 默认 ...
- m_Orchestrate learning system---三十五、php数据和js数据的解耦:php数据(php代码)不要放到js代码中
m_Orchestrate learning system---三十五.php数据和js数据的解耦:php数据(php代码)不要放到js代码中 一.总结 一句话总结:也就是以html为中介,用html ...
- m_Orchestrate learning system---三十四、使用重定义了$的插件的时候最容易出现的问题是什么
m_Orchestrate learning system---三十四.使用重定义了$的插件的时候最容易出现的问题是什么 一.总结 一句话总结:如下面这段代码,定义了$的值,还是会习惯性的把$当成jQ ...
- m_Orchestrate learning system---二十九、什么情况下用数据库做配置字段,什么情况下用配置文件做配置
m_Orchestrate learning system---二十九.什么情况下用数据库做配置字段,什么情况下用配置文件做配置 一.总结 一句话总结: 配置文件 开发人员 重置 数据库 非开发人员 ...
- m_Orchestrate learning system---二十五、复制类的时候最容易出现的错误是什么
m_Orchestrate learning system---二十五.复制类的时候最容易出现的错误是什么 一.总结 一句话总结:命名空间错误导致Analyze类虽然继承了Base类,但是没有执行里面 ...
随机推荐
- 2015.05.11,外语,读书笔记-《Word Power Made Easy》 15 “如何谈论事情进展” SESSION 44
1. not the real McCoy simulate(['simjuleit] v. 假装,冒充,模仿,模拟)来自拉丁simulo,copy的意思.simulo本身派生自拉丁形容词simili ...
- 院校-美国:美国国立卫生研究院(NIH)
ylbtech-院校-美国:美国国立卫生研究院(NIH) 美国国立卫生研究院(简称NIH)位于美国马里兰州贝塞斯达(Bethesda),是美国最高水平的医学与行为学研究机构,初创于1887年,任务是探 ...
- 转:Redis介绍及常用命令大全
一 Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发 ...
- js滑动提示效果
js代码 漂亮的动画效果:在靠右上角:背景颜色为红,字体颜色为白色 滑动 变大 上移 缓慢渐变消失 function tishi() { $("#tishi").attr(&q ...
- ubuntu16.04 安装 docker
1,切换到root 2,更新系统 # apt-get update 3,安装 https和ca证书 # apt-get install apt-transport-https ca-certifica ...
- vue入门--简单嵌套路由的一个路径小问题
假设现在有一个项目,刚进去要显示main页面下的contorl页面,那么路由里面的初级路由应该是{main和err},这两个是同一级,然后{control和set}是main下的子路由,foot是这两 ...
- Android7.0打开sdacrd图片问题
1.点击item,通过intent打开指定路径的图片. 2.测试6.0,5.0正常运行代码: File file=new File(item.address): Intent intent = new ...
- Android 蓝牙4.0的连接和通讯
1.加入权限 <uses-sdk android:minSdkVersion=" android:targetSdkVersion="/> <uses-featu ...
- 移动端 AnyProxy HTTPS 配置
参考:AnyProxy HTTPS相关教程 参考教程中,说明了 Windows 和 Mac 系统的配置,这里补充一下移动端(Android.iOS)的配置 生成RootCA > 下载 rootC ...
- 防范CSRF(二)
在防范CSRF(一)中使用的是微软默认的设置.在信息安全中默认的往往是最危险的.因此可以考虑更改cookie中默认的名字. 更改默认操作在Global.asax中的Application_Start使 ...