2009-03-01 18 views
0

içine INSERT/UPDATE nasıl çalıştırılır my weekend project ile ilgili tekrar, biraz daha web geliştirme öğrenmeye çalışıyorum. Bu yüzden uygulamak istediğim özellikler listesine girdim, bazı şeyleri kesinlikle nasıl yapacağımı bilmiyorum.Ajax/Json Mysql

i kopyala-yapıştır ki (bir veya iki değişiklik ile), Ben ajax nasıl kullanılacağı hakkında öğreticiler okudum, ama basit bir bulamıyor i içine gitmeden önce çalıştığını görmek nasıl çalışır.

Aradığım şey, ajax işlevinde, mysql ekleme veya güncelleştirmeyi tetikleyen basit bir örnektir. Bunu nasıl yapacağınıza dair basit bir örnek olarak? Bunu öğrenmek için güzel bir başlangıç ​​olacağını düşünüyorum. (Ajax veya Json her ikisi de iyi).

Eğer mystaken'im ise beni düzeltin: Kendime this tutorial dayandım. İstemci tarafının veritabanı çağrılarına erişimi olmadığı için, ne yapmalıyım, veritabanına doğru bir şeyler eklemek için bir kod parçacığı oluşturmak gibi bir şey olurdu? Örneğin, xhr.open (GET, "addcomment.php? Comment = mycomment", true) ile çağrılabilen bir "addcomment.php" oluşturun;

cevap

1

Doğru yaptığınız gibi geliyor. Veritabanının sizin için çalıştığı bir sunucu tarafı komut dosyasını çağırmak için Ajax'ı kullanın.

0

İyi bir kurulum, istemci tarafında jQuery gibi bir çerçeve kullanmaktır. Bu çerçeve JSON'u otomatik olarak kodlayacak ve çözecektir. Sunucu tarafında, tüm ajax'ı (veya JSON kullandığımızdan beri ajaj'ı) talep eden bir sınıf oluşturabilirsiniz. İşte genel fikri gösteren kısa bir PHP dosyası. FunctionMap dizisine daha fazla eleman ekleyin ve ilgili işlevleri sınıfa ekleyin.

class Ajaj{ 
    private $callback = ""; 
    private $functionMap = array( "select" => 'getIt'); 
    function Ajaj(){ 
     if(array_key_exists('jsoncallback',$_GET)){ 
      $this->callback=$_GET['jsoncallback']; 
     } 
    } 
    function parse(){ 
     echo "$this->callback("; 
     if(array_key_exists('action', $_POST)){ 
      $action = $_POST['action']; 

      if(array_key_exists($action, $this->functionMap)){ 
       echo $this->functionMap[$action]; 
      } 
     }else{ 
      echo "{}"; 
     } 
     echo ")"; 
    } 

    function getIt(){ 
      return json_encode(//get the database stuff here); 
    } 
} 
$ajaj = new Ajaj(); 
$ajaj->parse();