>  기사  >  백엔드 개발  >  thinkPHP 몰 공지 기능 개발 이슈에 대한 자세한 설명

thinkPHP 몰 공지 기능 개발 이슈에 대한 자세한 설명

墨辰丷
墨辰丷원래의
2018-05-30 09:29:251530검색

본 글은 thinkPHP 쇼핑몰 공지 기능의 개발 이슈를 주로 소개하고, thinkPHP를 기반으로 쇼핑몰 공지 기능을 구현하는데 관련된 Ajax 상호 작용 및 데이터베이스 운영 관련 기술을 예시 형태로 분석하여 도움이 필요한 친구들이 참고할 수 있습니다. 효과는 다음과 같습니다


1. head에 설정

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;
}

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

4. SQL 문의 thinkphp 처리를 가져옵니다.

// 获取公告
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;) ;

은 이 논리적 관계를 영리하게 처리합니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.


관련 권장 사항:

php

php base64 인코딩 및 디코딩 예제

php 구현의 자세한 예 mysql 데이터베이스에 연결하는 방법

위 내용은 thinkPHP 몰 공지 기능 개발 이슈에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.