Home  >  Article  >  Backend Development  >  Analysis on development issues of thinkPHP mall announcement function

Analysis on development issues of thinkPHP mall announcement function

不言
不言Original
2018-05-03 16:44:171309browse

This article mainly introduces the development issues of thinkPHP mall announcement function, and analyzes the ajax interaction and database operation related skills involved in implementing the mall announcement function based on thinkPHP in the form of examples. Friends in need can refer to the following

This article analyzes the development issues of thinkPHP mall announcement function with examples. Share it with everyone for your reference, the details are as follows:

The effect is as follows

1. Set it on the head

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

2.ajax processing json data

// 获取商城公告
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;
}

After setting dataType:'json', json data can be directly passed through json. way handled.

3. Finally loaded, the page looks better.

$(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();
    $(&#39;#notice ul&#39;).html(""+html);
    $(&#39;#notice&#39;).unslider(); // 轮播
  }
});

4. Get the thinkphp processing of the sql statement

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

$where[&#39;endtime&#39;] = array(array(&#39;eq&#39;,0),array(&#39;gt&#39;,time()), &#39;or&#39;) ;

handles this logical relationship skillfully.

Related recommendations:

Detailed examples of Thinkphp5 WeChat applet obtaining user information interface_

The above is the detailed content of Analysis on development issues of thinkPHP mall announcement function. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn