Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Dynamicznie ładuj zawartość ajax na fancybox z bazy danych MySQL

Co możesz zrobić, to pobrać nadchodzące (powiązane) elementy z bazy danych i przechowywać je w json zmienna jak :

var databaseResponse = [{
    href: "path/image05.jpg", // 4 are visible on page so
    type: "image",
    title: "Image #5",
    isDom: false
}, {
    href: "path/image06.jpg",
    type: "image",
    title: "Image #6",
    isDom: false
}, {
    href: "path/image07.jpg",
    type: "image",
    title: "Image #7",
    isDom: false
}]; // etc

Następnie push elementy z tej zmiennej do galerii w beforeLoad wywołanie zwrotne jak :

var done = false; // initialize switch
jQuery(document).ready(function ($) {
    $(".fancybox").fancybox({
        // loop : false, // optional
        beforeLoad: function () {
            // here get next items from database 
            // and store them in a json variable
            // e.g. "databaseResponse"
            if ((this.index == this.group.length - 1) && !done) {
                for (var i = 0; i < databaseResponse.length; i++) {
                    this.group.push(databaseResponse[i]);
                };
                done = true; // push items only once
            }
        },
        afterClose: function () {
            done = false; // reset switch
        }
    });
}); // ready

Uwaga że używamy przełącznika (done zmienna) wypychać elementy tylko raz (może być konieczne zresetowanie przełącznika chociaż po zamknięciu fancybox)

JSFIDDLE

UWAGA :elementy zostaną dodane (wysunięte) dopiero po tym, jak zobaczymy ostatni element w DOM (czwarty w twoim przypadku), więc jeśli zaczniesz przeglądać galerię wstecz, nie zobaczysz nowych elementów, ale do drugiej pętli.

Możesz ustawić loop na false chociaż




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co jest szybsze/lepsze w użyciu:funkcja MySQL czy PHP md5?

  2. Sortuj dane produktów z wielu tabel w MySQL

  3. Laravel 4 Query Builder - groupBy Max Date

  4. Funkcja strtotime() PHP jest nieprawidłowa o 1 godzinę?

  5. Wdrażanie komentarzy i polubień w bazie danych