Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse zu Entwicklungsproblemen der ThinkPHP-Mall-Ankündigungsfunktion

Analyse zu Entwicklungsproblemen der ThinkPHP-Mall-Ankündigungsfunktion

不言
不言Original
2018-05-03 16:44:171299Durchsuche

In diesem Artikel werden hauptsächlich die Entwicklungsprobleme der ThinkPHP-Ankündigungsfunktion für Einkaufszentren vorgestellt und die Fähigkeiten im Zusammenhang mit der Ajax-Interaktion und dem Datenbankbetrieb analysiert, die bei der Implementierung der Mall-Ankündigungsfunktion auf Basis von ThinkPHP in Form von Beispielen erforderlich sind

In diesem Artikel werden die Entwicklungsprobleme der ThinkPHP-Mall-Ankündigungsfunktion anhand von Beispielen analysiert. Teilen Sie es allen als Referenz mit, die Details sind wie folgt:

Der Effekt ist wie folgt

1. Setzen Sie es auf den Kopf

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

2.ajax verarbeitet JSON-Daten

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

Nach dem Festlegen von dataType:'json', json Daten können direkt über JSON verarbeitet werden.

3. Endlich geladen, sieht die Seite besser aus.

$(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. Holen Sie sich die Thinkphp-Verarbeitung der SQL-Anweisung

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

geht gekonnt mit dieser logischen Beziehung um.

Verwandte Empfehlungen:

Detailliertes Beispiel für das Thinkphp5 WeChat-Applet zum Abrufen von Benutzerinformationen_

Das obige ist der detaillierte Inhalt vonAnalyse zu Entwicklungsproblemen der ThinkPHP-Mall-Ankündigungsfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn