Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erläuterung der Probleme bei der Entwicklung der ThinkPHP Mall-Ankündigungsfunktion

Ausführliche Erläuterung der Probleme bei der Entwicklung der ThinkPHP Mall-Ankündigungsfunktion

墨辰丷
墨辰丷Original
2018-05-30 09:29:251530Durchsuche

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

Die Wirkung ist wie folgt

1. Auf den Kopf auftragen

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' können JSON-Daten 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.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich sein wird.


Verwandte Empfehlungen:

Detaillierte Erläuterung des Beispiels für die Login-Timeout-Erkennungsfunktion in PHP

php Detaillierte Erläuterung der Base64-Codierungs- und Decodierungsbeispiele

phpSo stellen Sie eine Verbindung her MySQL-Datenbank

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Probleme bei der Entwicklung 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