Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP, mysql, jQuery और AJAX का उपयोग करके div स्क्रॉल पर गतिशील रूप से डेटा लोड करें

इस ट्यूटोरियल में मैं आपको दिखाऊंगा कि आप php, mysql, jQuery और AJAX का उपयोग करके div स्क्रॉल पर डेटा को गतिशील रूप से कैसे लोड कर सकते हैं या आप कह सकते हैं कि फेसबुक पेजिंग की तरह है, जब कभी भी उपयोगकर्ता डिव या पेज के नीचे होगा तो नया डेटा होगा तुरंत लोड हो गया।

इस उदाहरण में मेरे पास देशों का डेटाबेस है और मुझे div के अंदर सभी देश सूची प्रदर्शित करने की आवश्यकता है, इसलिए जब भी उपयोगकर्ता स्क्रॉल देश div देशों की अगली सूची लोड की जाएगी।

सबसे पहले देशों का डेटाबेस बनाएं।

CREATE TABLE IF NOT EXISTS `countries` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`sortname` varchar(3) NOT NULL,
`name` varchar(150) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=247 ;


डेटाबेस के साथ संबंध बनाने के लिए php फ़ाइल बनाएं और सीमा के अनुसार देशों की सूची प्राप्त करें।

<?php
$hostname = "localhost";
$username = "root";
$password = "root";
$dbname = "location";
$limitStart = $_POST['limitStart'];
$limitCount = 50; // Set how much data you have to fetch on each request
	if(isset($limitStart ) || !empty($limitStart)) {
	$con = mysqli_connect($hostname, $username, $password, $dbname);
	$query = "SELECT id, name FROM countries ORDER BY name limit $limitStart, $limitCount";
	$result = mysqli_query($con, $query);
	$res = array();
		while($resultSet = mysqli_fetch_assoc($result)) {
		$res[$resultSet['id']] = $resultSet['name'];
		}
	echo json_encode($res);
	}
?>




अब html फाइल बनाएं और कुछ css और html डालें

<style>
.country { height: 300px; overflow: auto; width: 500px; }
.loading { color: red; }
li {font-size:24px;}
#loading { display:none; color:red; font-size:30px; }
</style>
<div class="country">
    <ul id="results"></ul>
</div>
 <span id="loading">Loading Please wait...</span>





उसके बाद div स्क्रॉल पर सर्वर को रिक्वेस्ट भेजने के लिए jQuery लिखें

<script>
$(function() {
   loadResults(0);
    $('.country').scroll(function() {
      if($("#loading").css('display') == 'none') {
        if($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight) {
           var limitStart = $("#results li").length;
           loadResults(limitStart); 
        }
      }
	}); 
 
function loadResults(limitStart) {
	$("#loading").show();
    $.ajax({
        url: "request.php",
        type: "post",
        dataType: "json",
        data: {
            limitStart: limitStart
        },
        success: function(data) {
               $.each(data, function(index, value) {
               $("#results").append("<li id='"+index+"'>"+value+"</li>");
             });
             $("#loading").hide();     
        }
    });
};
});
</script>

अब आपकी अंतिम index.html फ़ाइल होगी

index.html

<style>
.country { height: 300px; overflow: auto; width: 500px; }
.loading { color: red; }
li {font-size:24px;}
#loading { display:none; color:red; font-size:30px; }
</style>
<div class="country">
    <ul id="results"></ul>
</div>
 <span id="loading">Loading Please wait...</span>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(function() {
   loadResults(0);
    $('.country').scroll(function() {
      if($("#loading").css('display') == 'none') {
        if($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight) {
           var limitStart = $("#results li").length;
           loadResults(limitStart); 
        }
      }
	}); 
 
function loadResults(limitStart) {
	$("#loading").show();
    $.ajax({
        url: "request.php",
        type: "post",
        dataType: "json",
        data: {
            limitStart: limitStart
        },
        success: function(data) {
               $.each(data, function(index, value) {
               $("#results").append("<li id='"+index+"'>"+value+"</li>");
             });
             $("#loading").hide();     
        }
    });
};
});
</script>

लाइव डेमो देखें और सोर्स कोड डाउनलोड करें।

डेमो डाउनलोड करें

अगर आपको यह पोस्ट पसंद आए तो कृपया अधिक उपयोगी सामग्री के लिए मेरी सार्वजनिक नोट बुक को सब्सक्राइब करना न भूलें


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सिंटैक्स उदाहरणों के साथ टेबल MySQL बनाम टी-एसक्यूएल बनाएं

  2. MySQL या MariaDB डेटाबेस निर्यात करें

  3. SQL INSERT कथन के लिए Python dict का उपयोग करना

  4. GROUP_CONCAT () पर MySQL DISTINCT

  5. नोडज में mysql क्वेरी कॉलबैक के लिए पैरामीटर कैसे पास करें