ThinkPHP Mall-Ankündigungsfunktionsentwicklungsproblemanalyse_php-Beispiel

WBOY
Freigeben: 2023-03-03 06:38:01
Original
1602 Leute haben es durchsucht

In diesem Artikel werden die Entwicklungsprobleme der ThinkPHP-Ankündigungsfunktion für Einkaufszentren anhand von Beispielen analysiert. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Der Effekt ist wie folgt

1. Auf den Kopf setzen

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

Nach dem Login kopieren

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 Login kopieren

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

Nach dem Login kopieren

4. Holen Sie sich die Thinkphp-Verarbeitung der SQL-Anweisung

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

Nach dem Login kopieren
$where['endtime'] = array(array('eq',0),array('gt',time()), 'or') ;

Nach dem Login kopieren

Geht geschickt mit dieser logischen Beziehung um.

Leser, die an weiteren Inhalten zu thinkPHP interessiert sind, können sich die speziellen Themen dieser Website ansehen: „ThinkPHP-Tutorial für die ersten Schritte“, „Zusammenfassung der Fertigkeiten für den Betrieb von ThinkPHP-Vorlagen“, „Zusammenfassung allgemeiner Methoden von ThinkPHP“, „Codeigniter-Tutorial für die ersten Schritte“ , „CI (CodeIgniter) ) Framework Advanced Tutorial“, „Zend FrameWork Framework Einführungs-Tutorial“, „Smarty Template Basic Tutorial“ und „PHP Template Technology Summary“.

Ich hoffe, dass dieser Artikel für jedermann bei der PHP-Programmierung basierend auf dem ThinkPHP-Framework hilfreich sein wird.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage