thinkPHP商城公告功能开发问题分析


Posted in PHP onDecember 01, 2016

本文实例分析了thinkPHP商城公告功能开发问题。分享给大家供大家参考,具体如下:

效果如下

thinkPHP商城公告功能开发问题分析

1.定在头部

position: fixed;
z-index: 999;
top: 0;
opacity:1;

2.ajax处理json数据

// 获取商城公告
function getNotice() { // 获取公告函数
  var res;
  $.ajax({
    type: "POST",
    url: "{sh::U('Store/Mall/ajaxGetNotice',array('mid'=>$mid))}",
    dataType:'json', // 设为json之后,就能够很好的处理获取的json数据,json.status
    async: false,
    success: function(json){
      res = json;
    }
  });
  return res;
}

设置dataType:'json'之后,json数据就直接可以通过json.的方式处理了。

3.最后加载,页面更好看。

$(document).ready(function(e) { // 主函数
  // 获取公告
  var action_name = "{sh::ACTION_NAME}"; // 页面使用thinkphp常量
  var json = getNotice();
  if ( action_name == 'index' && json.status == 1) { // 首页并且公告存在
    $(".top").css("margin-top", "70px"); // jquery设置css
    $(".main-sidebar").css("top" ,"70px");
    var html = '';
    $.each(json.info, function(i, n){ // n为文本内容
      html += "<li><strong>"+n.content+"</strong></li>"
    });
    $(".top-notice").show();
    $('#notice ul').html(""+html);
    $('#notice').unslider(); // 轮播
  }
});

4.获取sql语句的thinkphp处理

// 获取公告
function ajaxGetNotice() {
    if (IS_AJAX) {
      $this->mid;
      // 获取有效的,且结束时间大于当前时间的,或者日期等于0的公告
      $mallNoticeModel = M('Mall_notice');
      $where['mall_id'] = $this->mid;
      $where['status'] = 1;
      $where['endtime'] = array(array('eq',0),array('gt',time()), 'or') ;
      //SELECT * from sh_mall_notice where mall_id = 9 and status = 1 and (endtime = 0 or endtime>1458354366);
      $notice = $mallNoticeModel->where($where)->order('sort desc')->select();
      if (!empty($notice)) {
        $this->ajaxReturn(array('status'=>'1','info'=>$notice,'msg'=>"获取成功"),'JSON');
      } else {
        $this->ajaxReturn(array('status'=>'2','info'=>$notice,'msg'=>"公告不存在"),'JSON');
      }
    }
}
$where['endtime'] = array(array('eq',0),array('gt',time()), 'or') ;

巧妙的处理了这种逻辑关系。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP的栏目导航程序
Oct 09 PHP
Windows下XDebug 手工配置与使用说明
Jul 11 PHP
PHPwind整合最土系统用户同步登录实现方法
Dec 08 PHP
PHPExcel读取Excel文件的实现代码
Dec 06 PHP
使用php判断浏览器的类型和语言的函数代码
Feb 28 PHP
php向js函数传参的几种方法
Aug 10 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
Sep 27 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
Jan 13 PHP
PHP发送短信代码分享
Aug 11 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
解决php扩展安装不生效问题
Oct 25 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 #PHP
PHP 芝麻信用接入的注意事项
Dec 01 #PHP
PHP中静态变量的使用方法实例分析
Dec 01 #PHP
php版阿里云OSS图片上传类详解
Dec 01 #PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 #PHP
PHP通过引用传递参数用法分析
Dec 01 #PHP
PHP中list方法用法示例
Dec 01 #PHP
You might like
模仿OSO的论坛(一)
2006/10/09 PHP
PHP实现生成透明背景的PNG缩略图函数分享
2014/07/08 PHP
PHP中addslashes与mysql_escape_string的区别分析
2016/04/25 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
ArrayList类(增强版)
2007/04/04 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
JavaScript 原型继承之构造函数继承
2011/08/26 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
js实现简单的左右两边固定广告效果实例
2015/04/10 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
js控制li的隐藏和显示实例代码
2016/10/15 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
原生js轮播(仿慕课网)
2017/02/15 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
node.js如何操作MySQL数据库
2020/10/29 Javascript
[03:33]TI9战队采访 - Infamous
2019/08/20 DOTA
[52:12]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
在Python中操作字典之update()方法的使用
2015/05/22 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
python opencv之分水岭算法示例
2018/02/24 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
Python之list对应元素求和的方法
2018/06/28 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
2019/11/19 Python
Python读写压缩文件的方法
2020/07/30 Python
python 常见的反爬虫策略
2020/09/27 Python
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
美国在线健康和美容市场:Pharmapacks
2018/12/05 全球购物
Linux上比较文件的命令都有哪些
2012/02/24 面试题
书法比赛获奖感言
2014/02/10 职场文书
机械系毕业生求职信
2014/05/28 职场文书
关于清明节的演讲稿
2014/09/13 职场文书
水利局群众路线专题民主生活会发言材料
2014/09/21 职场文书