←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Inny
AJAX Pobieranie z bazy danych SLQ

  • +
  • -
m9197778 - zdjęcie m9197778 19.10.2016

Witam mam problem murze zrobić program który pobiera z bazy danych autorów w liście i po wybraniu autora wyświetla książki. Zrobiłem to w PHP a ma to być zrobione z języku programowania  AJAX. Bardzo proszę  o pomoc na jutro to mam. Z góry dziękuje. Załączam bazę danych i to co zrobiłem w PHP i trochę w ajaxie.

Załączone pliki

Odpowiedz

  • +
  • -
wiwi249 - zdjęcie wiwi249 20.10.2016

AJAX to nie język programowania. PHP będzie Ci potrzebny do połączenia z bazą danych i wyciągniecia z niej potrzebnych informacji. Innymi słowy:

- tworzysz plik PHP który łączy się z bazą danych, wyciąga z niej potrzebne dane, a następnie zapisuje w formacie JSON (json_encode()).

<?php
//najpierw połącz z bazą danych, np. mysql_connect
//potem wykonaj jakieś zapytanie do bazy danych
//na końcu robisz tak:

$wynik = json_encode($wynik); //przekształć tablicę na json
echo $wynik; //zwróć wynik z powrotem do naszego kodu JS

$wynik powinien być od tej chwili tablicą zapisaną w formacie JSON.

 

- tworzysz plik HTML + JS, w kodzie JavaScript piszesz zapytanie do tej strony za pomocą AJAX

$.ajax({

    url : 'naszastronka.php',
    type : 'GET',
    data : {
        'jakisargument' : 10
    },
    dataType:'json',
    success : function(data) {              
        alert('Data: '+data);
    },
    error : function(request,error)
    {
        alert("Request: "+JSON.stringify(request));
    }
});

jak się nietrudno domyślić, funkcja przypisana do error wykona się kiedy zapytanie się nie powiedzie, a success kiedy się uda.

Z tymi danymi możesz już potem zrobić co chcesz właściwie, zobacz sobie funkcje jakie ma klasa JSON w Javascript.

Obecnie jest to tak napisane, że przy powodzeniu pokaże Ci się okienko z alertem na stronie.

Ten kod możesz np. wpakować do jakiejś funkcji typu click(), żeby załadowało dane dopiero po kliknięciu na jakiś element strony.

Wireshark Cookie Dump:

OKCancel

 

Odpowiedz