Home Backend Development PHP Tutorial jQuery+PHP+ajax implements the function of loading more content lists on Weibo_PHP tutorial

jQuery+PHP+ajax implements the function of loading more content lists on Weibo_PHP tutorial

Jul 13, 2016 am 10:26 AM
ajax jquery php Function load Weibo

We can often see such applications on some Weibo websites. The Weibo content list does not use paging bars. Instead, a certain number of records are loaded at a time and displayed on the list page. When the user browses to the bottom of the list page , you can load more records by clicking "View More". This article will combine jQuery and PHP to tell you how to implement this function.

Basic principle of Ajax loading: When the page loads, jQuery requests data from the background, and PHP queries the database to display the latest records on the list page. There is a "View More" link at the bottom of the list page. , By triggering the link, an Ajax request is sent to the server. The background PHP program gets the request parameters and responds, obtains the corresponding record from the database and returns it to the front-end page in the form of JSON. The front-end page jQuery parses the JSON data, and Append data to list page . In fact, it is the Ajax paging effect.

First of all, we need to introduce the jquery library and jquery.more.js plug-in. jquery.more.js has already encapsulated many functions and provided the function of parameter configuration.

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="jquery.more.js"></script>
Copy after login

xhtml structure is as follows:

<div id="more"> 
  <div class="single_item"> 
   <div class="element_head"> 
    <div class="date"></div> 
    <div class="author"></div> 
   </div> 
   <div class="content"></div> 
  </div> 
  <a href="javascript:;" class="get_more">::点击加载更多内容::</a> 
</div>
Copy after login

It should be pointed out that the styles single_item and get_more are related to the jquery.more.js plug-in. You can also take another class name, but you must write the corresponding class when configuring.

CSS style is as follows:

#more{margin:10px auto;width: 560px; border: 1px solid #999;}    
.single_item{padding: 20px; border-bottom: 1px dotted #d3d3d3;} 
.author{position: absolute; left: 0px; font-weight:bold; color:#39f} 
.date{position: absolute; right: 0px; color:#999} 
.content{line-height:20px; word-break: break-all;} 
.element_head{width: 100%; position: relative; height: 20px;} 
.get_more{margin:10px; text-align:center} 
.more_loader_spinner{width:20px; height:20px; margin:10px auto; background: url(loader.gif) 
 no-repeat;}
Copy after login

The above CSS is customized in this example. Of course, you can customize different styles in actual projects. Note that more_loader_spinner defines loading animated images.

jQuery part is as follows:

$(function(){ 
 $('#more').more({'address': 'data.php'}) 
});
Copy after login

It is very simple to use. Configure the backend address: data.php to see how data.php processes data.

PHP part:

data.php file:

Link database:

require_once('connect.php'); 
$last = $_POST['last']; 
$amount = $_POST['amount']; 
$user = array('demo1','demo2','demo3','demo3','demo4'); 
$query=mysql_query("select * from say order by id desc limit $last,$amount"); 
while ($row=mysql_fetch_array($query)) { 
 $sayList[] = array( 
  'content'=>$row['content'], 
  'author'=>$user[$row['userid']], 
  'date'=>date('m-d H:i',$row['addtime']) 
  ); 
} 
echo json_encode($sayList);
Copy after login

data.php receives two parameters submitted by the front page. $_POST['last'] is the number of records to start, and $_POST['amount'] is the number of records displayed at a time. You can understand it by looking at the SQL statement. In fact, it is Statements used in paging.
Then output the query results in JSON format, and PHP's task is completed.

Finally, let’s take a look at the parameter configuration of jquery.more.js:

'amount'  : '10',   //每次显示记录数 
'address'  : 'comments.php', //请求后台的地址 
'format'  : 'json',   //数据传输格式 
'template' : '.single_item', //html记录DIV的class属性 
'trigger'  : '.get_more', //触发加载更多记录的class属性 
'scroll'  : 'false',  //是否支持滚动触发加载 
'offset'  : '100',   //滚动触发加载时的偏移量
Copy after login

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/824758.htmlTechArticleWe can often see such applications on some Weibo websites. Pagination is not used in the Weibo content list. Instead, a certain number of records are loaded at one time and displayed on the list page. When the user...
Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP Routing CakePHP Routing Sep 10, 2024 pm 05:25 PM

In this chapter, we are going to learn the following topics related to routing ?

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

CakePHP Creating Validators CakePHP Creating Validators Sep 10, 2024 pm 05:26 PM

Validator can be created by adding the following two lines in the controller.

See all articles