Generuj dynamiczne zestawienia za pomocą Jquery, pHp I MySQL

Spisie treści
Wielokrotnie programując strony z pHp i wykonując zapytania do bazy danych musimy odświeżyć stronę tak, aby php było przetwarzane na serwerze, skonsultować się z bazą danych, a następnie zwrócić wynik.
To przekierowanie sieci zwykle trwa kilka sekund w niektórych przypadkach, pokazując użytkownikowi pustą stronę podczas przetwarzania i wyświetlania danych. Aby uzyskać bardziej przejrzysty interfejs dla użytkownika podczas wysyłania żądań do serwera, możemy wykorzystać AJAX, czyli technologię, która pozwoli nam na wykonywanie zapytań na stronie internetowej wymagającej odpowiedzi z serwera bez jej przeładowywania. Przykład zaczniemy od wpisu internetowego do zarządzania agencją samochodową.
Bazę danych utworzymy najpierw w Mysql aby to zrobić, użyj nas phpmyadmin. Poniżej Kod SQL.
1) Tworzymy bazę danych
UTWÓRZ BAZĘ DANYCH auto_agency;

2) Następnie stworzymy tabele
  • a) Struktura stołu dla stołu pojazdów
 CREATE TABLE IF NOT EXISTS `pojazdy` (` id` int (10) NOT NULL AUTO_INCREMENT, `vehicle_type` int (255) DEFAULT NULL,` charakterystyka` text, `mark` varchar (255) DEFAULT NULL,` model` varchar ( 255) DEFAULT NULL, `normal_price` dziesiętny (10,2) DEFAULT NULL,` description` varchar (255) DEFAULT NULL, `photo1` varchar (255) DEFAULT NULL,` photo2` varchar (255) DEFAULT NULL, PRIMARY KEY ( `id`)) ENGINE = MyISAM DOMYŚLNY ZESTAW ZNAKÓW = latin1 AUTO_INCREMENT = 1; 
  • b) Struktura tabeli dla tabeli znaków
 UTWÓRZ TABELĘ, JEŚLI NIE ISTNIEJE `marks` (`id` int (11) NOT NULL AUTO_INCREMENT, `vehicle_type` int (10) DEFAULT NULL,` mark` varchar (200) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE = MyISAM DOMYŚLNY ZESTAW ZNAKÓW = latin1 AUTO_INCREMENT = 1; 
  • c) Wstawiamy znaki towarowe
 WSTAWIĆ W „Marki” („ id”, „typ_pojazdu”, „marka”) WARTOŚCI (1, 1, „HONDA”), (3, 1, „AUDI”), (4, 1, „BMW”), 
  • d) Struktura tabeli dla tabeli modeli
 UTWÓRZ TABELĘ, JEŚLI NIE ISTNIEJE `models` (` id` int (11) NOT NULL AUTO_INCREMENT, `vehicle_type` int (200) DEFAULT NULL,` brand id` int (200) DEFAULT NULL, `model` varchar (255) DEFAULT NULL , KLUCZ PODSTAWOWY (`id`)) ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 1; 
  • e) Wstawiamy dane w tabeli modeli
 WSTAWIĆ W „modele” (`id`, `vehicle_type`,` brand id`, `model`) WARTOŚCI (1, 1, 1, 'ACCORD'), (2, 1, 1, 'JAZZ'), (3 , 1,1, „CIVIC”); 
  • f) Struktura tabeli dla tabeli type_vehiculo
 UTWÓRZ TABELĘ, JEŚLI NIE ISTNIEJE `vehicle_type` (`id` int (10) NOT NULL AUTO_INCREMENT, `vehicle_type` varchar (200) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 1; 
  • g) Wstawiamy dane do tabeli type_vehiculo
 WSTAW W „Vehicle_type” („id”, „vehicle_type”) WARTOŚCI (1, „Samochody”), (2, „Motocykle”) 

Do tej pory stworzyliśmy całą bazę danych.

Strukturę strony zaczynamy od php, przykład będzie rozwijany w zwykłym php ale można go dostosować do dowolnego frameworka.
1) Połącz się z bazą danych Mysql, tworząc plik config.php
 

Stworzymy stronę internetową, która będzie nazywała się index.php, gdzie będziemy mieli kod do wyświetlenia listy pojazdów, a następnie przefiltrowania listy za pomocą jquery. Układ, którego używamy w samouczku, jest dość prosty.

Kod wewnątrz index.php do wyświetlenia układu wygląda następująco:
 

Następnie tworzymy górny panel:
 
Pojazdy Znaki towarowe Modele
Wybrać Wybrać Wybrać

Następnie pojawi się kod listy z zapytaniami sql, div będzie wtedy służył do pokazania przefiltrowanej listy:

 wartość $) {wiersz $ [klucz $] = paski ukośne (wartość $); }?> zm13 -> 
Pojazd Marka Model Zdjęcie działania
Modyfikować


Teraz, gdy lista już działa, musimy utworzyć filtr za pomocą Jquery i zaprogramować funkcjonalność związaną z zaznaczeniem. Przy pierwszym wyborze Pojazdu dodajemy zapytanie i modyfikujemy wybór w następujący sposób:
 Wybrać 

Podczas wykonywania wybór zostanie załadowany pojazdami:

Teraz nadchodzi Jquery do tego dodamy do index.php w górnej linii przed dołączeniem, bibliotekę Jquery pobraną z http://jquery.com/download/ lub link poniższy skrypt i użyj go z zewnętrznej ścieżki.

Stworzymy plik o nazwie functions.js do przechowywania kodu Jquery i dodamy go do strony poniżej poprzedniego skryptu w następujący sposób:

Pierwszym skryptem będzie ten, który po wybraniu typu pojazdu aktywuje wybór z markami
 $ (function () {$ ("# pojazd").change (function() {// skrypt aktywuje się po wybraniu pojazdu pojazd = $ (ten) .val() // biorę wybraną wartość / / wyślij na stronę, która wykona zapytanie sql i zwróci dane do umieszczenia w wybranym $ .get ("http://localhost/proyectos/agenciaautos/marcas.php? idvehiculo =" + pojazd, funkcja (dane) { $ ( "#mark"). html (data); // biorę wynik i wstawiam dane w select mark});});}); 

Tworzymy plik brands.php, który będzie tym, który zrealizuje zapytanie, które następnie zostanie załadowane do Select Brands:
 

W ten sposób podczas wybierania typu pojazdu aktywowane są wybrane marki odpowiadające typowi pojazdu.

Teraz aktywujemy wybrane modele z Marksa, w tym celu dodamy następujący kod do functions.jps:
 $ (function () {$ ("# marka"). change (function () {brand = $ (this) .val () // Wybrana wartość $ .get ("http: // localhost / projekty / autoagencja / model .php?markd = "+ mark, function(data) {$("#model").html(data);// biorę wynik strony i wstawiam dane w select});});}); 

Tworzymy plik models.php do wykonania zapytania:
 

Na koniec przy wyborze modelu dodamy w tym samym skrypcie, który pokazuje nam listę, ale przefiltrowaną według wybranych opcji i przypiszemy wynik do div id = "lista"
Skrypt juqery, który aktywuje listę z wybranego modelu, będzie
 $ (function () {$ ("# model").change (function () {model = $ (this) .val () // Wybrana wartość $ .get ("http://localhost/projekty/autoagencja/lista .php? idmodel = "+ model, function (data) {$ (" # listing ").html (data); // biorę wynik strony i wstawiam dane do listingu div});});}); 

Plik listing.php, który wykona zapytanie filtrujące:
 

 wartość $) {wiersz $ [klucz $] = paski ukośne (wartość $); }?> zm13 -> 
Pojazd Marka Model Zdjęcie działania
Modyfikować

Na koniec, tak jak w przykładzie z działającymi filtrami, zabrakłoby jednego, aby przywrócić listę do oryginału i zarejestrować pojazd, który zobaczymy w innym samouczku.

UwagaKontynuacja i więcej informacji o tym samouczku wejdź tutajPodobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt
wave wave wave wave wave