Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie MySQL w advAJAX
Forum PHP.pl > Forum > XML, AJAX
3miel
Witam,

czy można w treści funkcji advAJAX umieścic zapytanie do MySQL'a bez uzywanie "url:"?

chodzi mi o cos takiego:
Kod
<script language="javascript">
function widok(widok){

  advAJAX.get({
    onSuccess : function(obj) {
         if(widok=='prosty'){
                  //ZAPYTANIE
                  //dodanie do zapytanie kilku linijek tekstu
                  document.getElementById('ajax').innerHTML = wynikZapytania;

         }else if (widok=='zaawansowany'){
                  document.getElementById('ajax').innerHTML = 'zaawansowany';
         }  
    },
    onError : function(obj) { alert("Error: " + obj.status); }
  });

}
</script>


czy konieczne jest umieszczenie tego w osobnym pliku??
mike
No ludzie, AJAX fany jest ale bez przesady!
Przeciez to jest JavaScript!

W JavaScripcie zapytania do bazy chcesz pisać ?!

Oczywiście, ze się nie da.
3miel
tak, wiem.

Ale gdyby zapytanie dać do <? ?> to w tedy JS nic by nie wiedział ze jest to zapytanie bo to sie dzieje po str serwera! tylko jak wynik przypisac do zmiennej? albo wyswietlić?

----------
ja juz sam nie wiem, obojetnie w jaki sposbó dodać zapytanie z MySQL i wyświetlic je w TEXTAREA!

Prosze o pierwszy lepszy przykłąd, bo na prawde nic nie potrzafi ewymyśleć!

---------
no już załątwiłem ten problem
060156
Oczywiscie ze sie da
aczkolwiek wymaga to troche pracy.

Podejscie jest takie:

1) zaprojektowanie protokolu komend, ktore zawieraja
- metody jakie sie wywoluje z Mysql (select, update, insert, delete, etc..)
2) przekazywanie parametrow do tych komend
- nazwa tablicy, kolumny, where, etc ..
3) uzycie Ajax do wyslania komendy do php strony i
procesowanie rezultatu ..

4) Zaprojektowanaie php strony ktora wykonuje te komendy
dostepujac MySql, zwraca rezultaty i ewentualne bledy.

  1. // Przegladarka - przykladowe uzycie
  2.  
  3. var db = new MyDb("database","MyDb.php","mysql");
  4.      db.queryRows("tablica","col1, col2, col3","where");
  5.      db.submit(odpowiedz);
  6.  
  7.      function odpowiedz(rows, error) {  // odpowiedz na wywolanie
  8.       error - jesli nastapil blad
  9.       rows - zwrocone kolumny
  10.      }


  1. <?php
  2.  
  3.  
  4. // MyDb.php 
  5.  implementuje komendy klasy MyDb, odczytanie parametrow,
  6.  dostep do database i zwrocenie rezultatu
  7.  
  8.  
  9. ?>


Z punktu widzenia przegladarki jest to abstrakcyjny Database Interface
i mozna zaimplementowac go uzywajac roznych database ..
Zaimplementowalem klase MyDb w Iwa i bardzo
skraca to kod, bo odwolanie od database opisujemy tylko
po stronie przegladarki i jest on latwy do modyfikacji ...
seaquest
Tylko, że to jest sprzeczne z założeniami MVC i w związku z tym bardzo niebezpieczne.

Akurat Model i Widok powinny być od siebie jak najdalej.
mariuszn3
3miel.. co to jest Ajax? Na jakiej zasadzie działa? Jak znajdziesz na te pytania odpowiedzi.. zrozumiesz, że Twoje podejscie jest trochę irracjonalne.
Możliwe, że z technicznego punktu widzenia jest możliwe nawiązanie komunikacji javascript -> serwer MySQL.. ale nawet jesli, to byłaby to bardzo kontrowersyjna praktyka.. jak i zapewne z braku odpowiednich dedykowanych bibliotek w js po prostu nie opłacalna.
3miel
Jak pisałem teog pierwszego posta to szczerze móiąc chyba od tygodnia poznałem AJAX i dlatego jak zwykle che wiedzieć wszsytko (może prawie wszystko;)

A ten problem wydawał mi się do rozwiązania, ale jak teraz juz wiem - myliłem się.

Dziękuję za uświadomienie problemu z komunikacją MySQL -> "strona www" w AJAXie.
060156
mariuszn3
Jakies glupoty wipisujesz o praktykach ..
Jest jak najbardziej wlasciwia ..
I porzynosi doskonale rezulataty ..
Poczytaj przyjacielu moze wiecej o progarmowaniu
zanim zaczniesz wyrazac takie opinie .
Widze, ze na tym forum to co jest inowacyjne
jest kwalifikowane jako niewlasciwa praktyka ..
mariuszn3
Cytat(060156 @ 2006-04-30 05:34:36)
mariuszn3
Jakies glupoty wipisujesz o praktykach ..
Jest jak najbardziej wlasciwia ..
I porzynosi doskonale rezulataty ..
Poczytaj przyjacielu moze wiecej o progarmowaniu
zanim zaczniesz wyrazac takie opinie .
Widze, ze na tym forum to co jest inowacyjne
jest kwalifikowane jako niewlasciwa praktyka ..

Pamiętaj, że mówimy tu o implementacji javascript w przeglądarkach internetowych.
Jak i miałem na mysli bezposrednie połączenie z serwerem MySQL! (a nie otwieranie ukrytej ramki, wywoływanie skryptu php czy asp i przesłanie mu zapytanie, które to dopiero na serwerze zostanie przekazane MySQL)
Jesli da się to zrobić, to bardzo proszę o przykład, będę wdzięczny.
Choć to czysta ciekawosć, bo raczej nie planowałbym (i nawet nie radziłbym) korzystania z tej funkcjonalnosci.
060156
Jak najbardziej .

Zalaczam krotki opis klasy MyDb, ktora zaimplementowalem uzywajac
nie bardzo lubiana na tym forum IWA.

Pozwala on realizowac dostep do database z przegladarki
przez strone php ktora implementje database commands..

DATABASE QUERY/RESPONSE (Browser Side)

MyDb.query(database, commands, response_function, service_page_url, service_name)
response_function([inserted_id, affected_rows, rows, cols, objects], error)

DATABASE COMMANDS

query columns, rows, objects
insert row, object
insert parent-child row, object
replace row, object
update rows, objects
delete objects
create table
stored procedure

query databases
query tables
query table schema
query table schema like objects
mariuszn3
Nie zrozumiałeś o co mi chodzi.. Przeczytaj uważnie co napisałem.
Przykład, który przytoczyłeś nie łączy się bezpośrednio z serwerem MySQL.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.