I am trying to get 20 results from my table on the fly (when the user scrolls down) using AJAX and PHP.
Still...
Ajax
// Infinite Scroll loadData( 0 ); //Hide Loader for Infinite Scroll $('div.ajaxloader').hide(); }); function loadData ( last_id ) { var $entries = $('.directory'), $loader = $('.ajaxloader', $entries).show(); $.get( '/getentries.php', { last_id : last_id }, function( data ) { $entries.append( data ).append( $loader.hide() ); filterEntries(); }); }; //Isotope filter - no changes to this code so I didn't include it $(window).scroll(function () { if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) { $('div.ajaxloader').show('slow'); loadData( $( '.directory item:last' ).data('id') ) }
Php
try { // Connect and create the PDO object $conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb); $conn->exec("SET CHARACTER SET utf8"); // Sets encoding UTF-8 // Define and perform the SQL SELECT query $sql = "SELECT * FROM `directory` WHERE user_active != ``"; $result = $conn->query($sql); $sth = $conn->prepare("SELECT * FROM directory WHERE user_active != ''"); $sth->execute(array(':county' => $county)); $c = 1; while ($row = $sth->fetch(PDO::FETCH_ASSOC)) { echo '<div class="entry'; if (($c % 4) == 1) echo ' alpha '; // ECHO RESULT STYLES ETC HERE $c++; } $conn = null; // Disconnect } catch(PDOException $e) { echo $e->getMessage(); }
Now my AJAX and the request seem to work, is there a problem with it, although it's just pulling all the data over with it again, unlike the next 20?
I never did this before so sorry if I would be naive, but any help would be greatly appreciated!
source share