legend---二、如何降低编程复杂度
一、总结
一句话总结:配置文件,数据库
个性的东西可以一起写入数据库,那么编程复杂度会大幅降低,页面灵活度也大幅降低(特有属性写进数据库)
1、input-number-max和min如何使用?
<input type="number" class="tpl-form-input" name="msstar" id="msstar" min="0" max="10" placeholder="自身技能星数" >
2、如何通过jquery获取元素的id属性(sttr表属性)?
$("input[name='tisaccept']").attr('id');
3、想把多个按钮放在一行(不懂时看参考手册,不要自己臆断浪费时间)如何实现?
多看参考手册,所以你会发现是am-btn-group
把一系列要使用的 .am-btn
按钮放入 .am-btn-group
。
4、这种按钮怎么摆都不好看的情况下我们应该怎么办?
这种按钮怎么摆都不好看的情况下,所以可以尝试别的策略(策略转换)
这种 按钮怎么摆都不好看的情况下,所以可以尝试别的策略
5、php中单引号能解析变量么?
php中单引号不能解析变量
1 $taskData['tdeadlinetime']=strtotime("$timeStr");
6、php计算两个时间相差的天数、小时数、分钟数、秒数(善于百度)如何实现?
PHP中计算两个时间相差的天数、小时数、分钟数、秒数不如其它语言方便,但搞清了PHP中时间的表示方法后也很简单。本文章向大家讲解php如何计算时间相差。需要的码农可以参考一下。
1 //$startdate是开始时间,$enddate是结束时间
2 <?php
3 $startdate="2011-3-15 11:50:00"; 4 5 $enddate="2012-12-12 12:12:12"; 6 7 $date=floor((strtotime($enddate)-strtotime($startdate))/86400); 8 echo "相差天数:".$date."天<br/><br/>"; 9 10 $hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600); 11 echo "相差小时数:".$hour."小时<br/><br/>"; 12 13 $minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60); 14 echo "相差分钟数:".$minute."分钟<br/><br/>"; 15 16 $second=floor((strtotime($enddate)-strtotime($startdate))%86400%60); 17 echo "相差秒数:".$second."秒"; 18 ?>
不管是自己使用字符串来构造的时间类型(使用strtotime转换而来的)也好,还是直接使用系统的time函数得到的时间类型也好,最终其实都是长整形的一个变量。两个这样的变量,就很明显可以做减法了。
做减法得到值是相差的秒数,这个秒数对86400(一天的秒数)取余,则得到相差数。如果对86400取模,还对3600秒、60秒取余,则得到相关的小时和分钟数。如果对86400取模,再对60取模,则得到相差的秒数。
7、数据库的数据表的字段设计格式可以是什么?
数据库数据表字段加下划线
mst_id可以区别 ms表里面的tid
8、绝对定位好用么?
绝对定位啊。真好用
1 <td colspan="4"> 2 EXP. 3 <span style="margin-left: 3px;"> 4 <div style="display: inline-block;position: absolute;font-size: 14px;">34242</div> 5 <progress max="10000" value="3455" style="width: 90%;"></progress> 6 </span> 7 </td>
9、order by(直接传入数据库的字段,因为是字符串,都加单引号)如何使用?
Db::table('think_user')->where('status=1')->order('id desc,status')->limit(5)->select(); 根据---id“降序",status "升序" 排列
SELECT * FROM think_user where status=1 ORDER BY id desc,status 【asc】 limit 5 ;
Db::table('think_user')->where('status=1')->order('id,status desc')->limit(5)->select(); 根据---id“升序",status "降序" 排列
SELECT * FROM think_user where status=1 ORDER BY id 【asc】,status desc limit 5 ;
10、竖线|一般表示什么意思?
竖线|表或者,太多都是的了(竖线表或者,thinkphp中的验证器,以及其它很多地方)
1 <?php
2 namespace app\admin\validate;
3
4 use think\Validate; 5 class ShopGoods extends Validate 6 { 7 protected $rule = [ 8 'sg_name' => 'require|max:25|unique:cate', 9 ]; 10 11 protected $message = [ 12 'catename.require' => '栏目名称必须填写', 13 'catename.max' => '栏目名称最多不能超过25个字符', 14 'catename.unique' => '栏目名称已经存在', 15 ]; 16 17 18 protected $scene = [ 19 'add' => ['catename'=>'require|unique:cate'], 20 'edit' => ['catename'=>'require|unique:cate'], 21 ]; 22 23 }
11、列表如何分类显示?
(先按分类排序,再按星级排序, 最后按照id排序)
$shopGoodss=db('shop_goods')->alias('sg')->field('sg.*,sc.sc_name')->order('sg_classifyid,sg_id asc')->join('shop_classify sc','sg.sg_classifyid=sc.sc_id','LEFT')->paginate(10);
order('sg_classifyid,sg_id asc')
后id
12、select控件的选择改变事件有哪些?
select的onchange事件
1 <div class="am-u-sm-12 am-u-md-3"> 2 <div class="am-form-group"> 3 <select data-am-selected="{btnSize: 'sm'}" onchange="javascript:location.href=this.value;"> 4 <option {if condition="$id lt 1"} selected="" {/if} value="{:url('article/index',array('id'=>0))}">All topic</option> 5 6 {volist name="dataout" id="vo"} 7 <option {if condition="$vo['id'] eq $id"} selected="" {/if} value="{:url('article/index',array('id'=>$vo.id))}">{$vo.name}</option> 8 {/volist} 9 10 </select> 11 </div> 12 </div>
13、thinkphp数组get方式如何传值?
(不是传统的问号方式,是url里面的数组方式)
<option value="{:url('shop_goods/index',array('sc_id'=>0))}">所有分类</option>
一定要好好分析区别传统方式
14、where条件如何使用?
(php中的变量任何时候不要加上单引号)
if($id) $data=db('article')->alias('a')->join('user u','u.id=a.authorid')->field('u.picture as pic1,a.picture,username,title,a.id,authorid,keywords,content,click,state,time,place,topicid')->where(array('topicid'=>$id))->paginate(3);
这里错了,变量上不要加引号
where('sg.sg_classifyid','=','$sc_id')
15、双引号里面解析变量么?
解析
$this->success('增加物品成功!!',url('shop_goods/index',"sc_id=$sc_id"));
16、页面中访问和在控制器中访问的url书写形式相同么?
页面中访问和在控制器中访问的url书写形式的不同(页面中的函数使用加{:},这个好)
控制器中
$this->success('增加物品成功!!',url('shop_goods/index',"sc_id=$sc_id"));
17、传参用什么方式好?
数组写参数真好,多参数传递的时候
<a href="{:url('shop_goods/edit',array('id'=>$vo.sg_id,'sc_id'=>$sc_id))}"
18、如何给方法属性等命名(超超超级重要)?
控制器里面传出去的变量,要以控制器名加_下划线作为前缀来命名
比如,base控制器:base_stateData
比如,myselfBody控制器:mbody_
控制器命名:所属模块名自己
比如 myself(自身管理)板块下的body(身体管理):MyselfBody
数据库字段命名是 模块名首字母加 内容名,比如:lg_myself_own:mo_id
19、编程中随时关闭干扰文件的好处是什么?
关闭其它,排除干扰
20、如何降低编程复杂度?
个性的东西可以一起写入数据库,那么编程复杂度会大幅降低,页面灵活度也大幅降低(特有属性写进数据库)
二、内容在总结中