16 Ekim 2008, 11:26 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | PHP ve AJAX - Gmail'in Belkemiği: AJAX PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Toplama işlemi yapan bu PHP dosyasına GET metodu ile a ve b adında ki değişkenlerin değerlerini toplamaktan ibaret olan bu dosyaya JavaScript ile ulaşalım.Bunun için aşağıda ki kod işimizi şimdilik görecektir. PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Yukarıda ki komut yapısını incelediğimizde, ilk olarak createRequestObject fonksiyonunda IE ve FireFox türevi Mozilla tarayıcılarına göre bir obje oluşturup fonksiyone set ediyoruz. Daha sonra bu fonksiyonun çıktısını HTTP değişkenine aktarıyoruz. Bu fonksiyonumuz sabit kalacaktır. Her yerde bu fonksiyonu kullanabiliriz. PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Üstteki id'si toplam olan boş katman, hesap işlemini yapıp sayafaya yazdıracak alandır. Bu bağlamda PHP dosyasından alınan çıktıyı cagir() fonksiyonunda eval olarak http.responseText objesini kullanarak alıp, innerHTML komutuyla çıktıyı span alanında "id'deki ismiyle çağırarak" yazdırıyoruz. | |
|
16 Ekim 2008, 12:33 | #2 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | PHP ve AJAX - Gmail'in Belkemiği: AJAX PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
NOT : Veritabanı dosyasında Transaction database kavramını kullanabilmemiz için InnoDB tablo yapısı kullandığımıza dikkat edin. Veritabanı yapısını oluşturduktan sonra sırayla veri ekleme ve veri listeleme yapan PHP kodlarını oluşturduktan sonra asıl kıstas olan JavaScript ile veriyi gönderip çıktıları listeleme olayını açıklayacağım. ekle.php PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Yukarıdaki komut yapısı bilindik MySQLi kütüphanesini kullanarak veri giriş örneğinden ibaret. Komut yapısına dikkat ettiyseniz MySQLi bölümünde değinmediğimiz bir özellikle veri girişi yaptım. "Nedir o Özellik?" diye sorarsanız Transaction Database ile veri girişi yapıyoruz. Bu işlemi klasik mysql kütüphanesiyle yapmak isteseydik önce mysql_query("start transaction") komutuyla MySQL'e sorgu gönderip, işlemlerimizi gerçekleştirdikten sonra mysql_query("commit") komutuyla veri girişi veya güncelleme işlemlerini DB ye girecektik ama MySQLi kütüphanesinde bu işlemi $db->autocommit(false); ve $db->commit(); komutları gerçekleştirmekte. Veri giriş olayını gerçekleştiren script'i hazırladıktan sonra sıra geldi saf dataların çıktısını JavaScript'in anlayacağı şekilde Array olarak yayınlamaya. İşte bu ortamda JSON denilen yöntemi kullanacağım. Veritabanından dataları almanın birkaç yöntemi bulunmakta.Aslında en etkin çözüm XML,XSLT çözümü ama onda browser farklılıkları olduğu için genelde JSON yöntemi kullanılmakta. Bu hususta gmail'in de aynı çözümü kullandığını belirterek, bu yöntem ile saf dataları nasıl Array yapacağımızı gösterelim. PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Yukarıdaki örneği incelediğimizde JavaScript'de Array düzeneği oluşturduğunu göreceksiniz. Basit bir örnekle yukarıda ki kod yapısının nasıl çalıştığına dair fikrimiz oluşsun ki ileriki safhalarda datanın nasıl çıktı verileceği ve nasıl kullanılacağını anlayalım. PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Yukarıdaki JavaScript fonksiyonunu çalıştırdığımızda ilk olarak oluşturduğumuz değişkeni alert ettirdiğimizde JavaScript bize değişkenin biri Obje olduğunu belirtiyor.Kısaca JavaScript ile JSON yöntemiyle dataları nasıl hazırlayıp nasıl okuyacağımızı belirttikten sonra PHP ile dataları çıktı sağlayan oku.php dosyasını oluşturalım. PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Yukarıdaki komut yapısını açıklamayacağım. Zira yukarıda datalarını nasıl bir sistematikle oluşturacağımızı zaten belirtmiştik. Burada tek Dikkat etmemiz gereken husus: tırnak karışıklılığı olmaması için str_replace kullandık. Zira çekilen data içerisinde tırnak olursa Array objesinin düzeneği bozulacak, dolayısıyla veri listeleme hata verecektir. Şiddetle Dikkat etmenizi öneririm. |
|
16 Ekim 2008, 13:27 | #3 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Cevap: PHP ve AJAX - Ajax ile veri ekleme-listeleme PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Yukarıda ki komut yapısı biraz karmaşık görünüyor olsa da, aslında kod yapısını fonksiyon fonksiyon değerlendirirsek o kadar da karışık yapısı olmasa gerek.Şimdi bu örnekteki fonksiyonları teker teker açıklayım. PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Burada form alanında yer alan text alanları tanımlayıp, bu alanları kullanmak istediğimizde bu fonksiyonu çağırıyoruz. Bunu yapmamızda ki amaç; aynı tanımlamaları birden çok yapmamak. PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Burada sunucu teknolojisine erişim sağlayabilmek için IE ve Mozilla türevi tarayıcılar için http adında bir obje oluşturdum. Bu objeyi tüm kod alanında kullanacağız. PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Bu komutta ise ilk örneğimizde olduğu gibi verileri göndereceğimiz JavaScript fonksiyonu yer almakta. PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Bu fonksiyonda ise formdan gelen dataların eksik olup olmadıgını kontrol ediyoruz. Şayet veriler eksiksiz bir şekilde doldurulmuşsa veri ekleme URL'sini oluşturup AJAX fonksiyonuna , çalıştıracağı fonksiyon adı ile birlikte gönderiyoruz. PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Yukarıdaki fonksiyonda ise verileri ekle.php dosyasına gönderip bu dosyanın cıktısına bakarak veri girişi yapılıp yapılmadığına dair bir uyarı verdiriyoruz. Ekle.php dosyasına şayet veriler başarılı bir şekilde eklendiyse true çıktısı verdiğinden burada çıktının true olup olmadıgına bakarak veri girişi yapılıp yapılmadıgını kontrol ediyoruz. Böylece veri girişi yapıldıgında oku fonksiyonu çağırılarak veritabanında yer alan datalar Array şekline alınıp JaScript ile HTML tablosu üretiliyor. |
|
16 Ekim 2008, 13:36 | #4 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | PHP ve AJAX - Ajax ile veri ekleme-listeleme PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Bu komut satırında ise veritabanına bağlanıp dataları Array olarak çıktı sağlayan oku.php dosyasına bağlanıp dataları okuyarak datanın Array objesi olarak alabilmesi için eval yöntemini kullanıyoruz. Şayet bu yöntemi kullanmazsak gelen data text olarak nitelendirilecek, dolayısıyla datayı ayıklayamayacağız. Veritabanından datayı aldıktan sonra, HTML tablosunun baş kısmını oluşturup, data Array sayısı kadar dönen bir for döngüsüyle tablonun tr alanlarını oluşturup sonuna da tablonun alt kısmında tabloyu yok edecek bir buton ekleyip innetHTML kullanarak sayfanın sonra tanımladığımız <span id="satirlar"></span> katmanına oluşturduğumuz çıktıyı yazdırıyoruz. Son olarak oluşturduğumuz tabloyu yokeden kaybol fonksiyonunda belirttiğimiz katmanın değerini =" bir nevi null yaparak siliyoruz. PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
Görüldüğü gibi biraz çaba sarf ederek web sayfamızı daha da dinamik bir yapıya büründürüp çık hızlı bir şeklide çalışmasını sağlayabiliriz. Ajax'ın sadece hızlı olmasını düşünmemeliyiz. Büyük hit alan web sayfalarının oluşturacağı bant genişliğini bu yontemi kullanarak çok daha makul seviyelere indirebiliriz. |
|
Etiketler |
ajax, belkemiği, gmailin, php |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
Seçenekler | |
Stil | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
AJAX | Yunus | Java | 0 | 03 Temmuz 2024 21:47 |
Ajaxshop.com.tr Ajax Alarm Seti Ve Ajax Güvenlik Sistemleri | ZeuS | Web Site Tanıtımı | 0 | 13 Ekim 2023 15:48 |
[AJAX] VietVBB - Gelişmiş Forum İstatistikleri - [AJAX]VietVBB - Advanced Forum Statistics | hAte | vB 3.8.x Eklentileri | 4 | 27 Aralık 2021 14:43 |
PSG - Ajax: 3-1 | Seth | Haber Arşivi | 0 | 26 Kasım 2014 00:34 |
ASP.NET Ajax Örnekleri | Sunay | ASP/ASP.NET | 2 | 22 Kasım 2010 18:16 |