Komunikacja pomiędzy PHP i jQuery (AJAX)

0

Chciałbym zapytać się o standard pisania kodu, tak aby aplikacja była "czysta" i bez śmieciowego kodu. Jestem amatorem i chcę poznać kodowanie według jakiś standardów.

Mam prostą stronę i komunikuje się z bazą danych poprzez AJAX'a w jQuery.

Do tej pory wszystko robiłem tak:

$.ajax({
  url: 'content/ajax.php',
  type: 'GET',
  data: { zmienna1: 'test1', zmienna2: 'test2' },
  success: function(data){
    var obj = JSON.parse(data);
    alert(obj[1]);
  }
});

I za każdym razem przy jakimś zdarzeniu w jQuery pisałem ten kod, np:

$('#jakis_przycisk').click(function(){
    $.ajax({
        url: 'content/ajax.php',
        type: 'GET',
        data: { action: 'test1' },
        success: function(data){
            if(data == '1') alert('Jakis tekst');
            else if(data == '2') alert('Cos tam');
        }
    });
});

$('#inny_przycisk').click(function(){
    $.ajax({
        url: 'content/ajax.php',
        type: 'GET',
        data: { action: 'test2' },
        success: function(data){
            if(data == '1') alert('Przyklad');
            else if(data == '2') alert('Przyklad 2');
        }
    });
});

Jak to "skrócić"? Jakaś główna funkcja, która odwołuje się do AJAX'a? Proszę o jakieś przykłady.

Teraz plik ajax.php

<?php

if($_GET['action'] == 'test1'){
  // Tu jakieś zapytania SQL
  if($costam <> $zmienna) echo 1;
  else echo 2;
}

if($_GET['action'] == 'test2'){
  // Tu jakieś zapytania SQL
  if($pole1 <> $data1) echo 1;
  else echo 2;
}

?>

Wszystko działa, tylko kod bardzo prymitywny. Potrzebuje komunikować się między jQuery, a PHP. Skrypt PHP wykonuje jakieś instrukcje, zapytania SQL i na końcu zwraca wynik, np. liczbę i jak jQuery otrzyma liczbę to w zależności od wartości wyświetla np. na ekranie jakieś elementy. Jak napisać przyzwoicie ten kod? Może jakieś Frameworki do tego?

Drugie krótkie pytanie: co używać zamiast przestarzałych: mysql_query(), mysql_fetch_array() itd? MySQLi, czy jakieś inne rozwiązanie? Potrzebuje szybko i prosto pisać kod, aby komunikować się z MySQL.

0

Tu nie chodzi o pisanie śmieciowego kodu, ale braki w zrozumieniu JSa i HTML. Doczytaj o metodach GET, POST i pobaw się czystym JSem zamiast brać się za frameworki/biblioteki bo później tak się właśnie kończy :)

Brzydko i na szybko, ale działa i pokazuje sposób jak to można rozwiązać:

<button class="jakies-buttony" value="lol">lol</button>
<button class="jakies-buttony" value="omg">omg</button>

<script type="text/javascript">
$('.jakies-buttony').click(function(){
    $.ajax({
        url: ''content/ajax.php'',
        type: 'GET',
        data: { var: $(this).val()},
        success: function(data){
            alert(data.var);
        }
    });
});
</script>
<?php echo $_GET['var']; ?>

Co do kodu PHP to za mało nam opisałeś, ale zgaduje, że problem leży również w rozumowaniu i braku doświadczenia, więc jak posiedzisz chwilę to sam coś wymyślisz. Co do SQL to pogoogluj hasła PDO i ORM.

1 użytkowników online, w tym zalogowanych: 0, gości: 1