PHP:Ajax: Fly to Basket (Uçan Sepet) Uygulaması

E-ticaret sistemlerimizde kullanıcıların ürünleri sepete atıp atmadıklarından emin olmaları çok önemlidir. Kullanıcı emin olmadığı bir işlemde urunu birden fazla sepete ekleye bilir. Bu uygulamamızda ürünü kullanıcı sepete eklediğinde görsel olarak ürünümüzün fotografını sepet olarak belirtmiş olduğumuz bölmeye gönderiyoruz.


Sayfamızda yer alacak olan ürünler için örnek bir kod:

<div class="product_container">
<div id="slidingProduct8" class="sliding_product">
<img src="images/d4abf6cf79b0770a99b01d791595abc3.jpg" width="90" height="120">
Erkekler ve Diğer Felekatler<br><br>
12.50
</div>
<a href="#" onclick="addToBasket(8);return false"><img src="images/basket.gif"></a>
<div class="clear"></div>
</div>

Sepete Ekle(basket.gif) tıklanıldığında “addToBasket(8)” ile ürün id mizi “addProduct.php” dosyamıza yolluyoruz ve gelen productId ye göre select case ile ürün özelliklerini belirleyip “Alışveriş Sepeti” alanına yazdırıyoruz.

addProduct.php kodlarımız

<?
header("Content-Type: text/html; charset=iso-8859-9");
if(!isset($_POST&#91;'productId'&#93;))exit;
switch($_POST&#91;'productId'&#93;){

case "1";
echo "1|||Ölümcül İklim|||20";
break;
case "2";
echo "2|||Cesur Teklif|||25";
break;
case "3";
echo "3|||Kan Kokusu|||35";
break;
case "4";
echo "4|||Ödünç Yaşam|||10";
break;
case "5";
echo "5|||Alamut Cenneti|||22";
break;
case "6";
echo "6|||Pazartesi Erkeğie|||14";
break;
case "7";
echo "7|||Gilead|||15";
break;
case "8";
echo "8|||Erkekler ve Diğer Felekatler|||12.5";
break;
}
?>

Sepetimizde yer alan ürünlerin adetlerini ve fiyat toplamını ise “fly-to-basket.js” dosyamız aracılığıyla hesaplıyoruz. “fly-to-basket.js” dosyamızdaki “flyingSpeed” değişkenimiz ile ürüne tıklanıldığında sepete gitme hızını belirlemiş oluyoruz.

Uygulamamızda sadece ürünün sepete gitme işlemini gerçekleştirdik. Sepete gitti anda kullanıcının sepetine veri tabanında eklemek istiyorsak “addProduct.php” dosyamızda case in altına veri tabanımıza ekleyecek olan mysql kodlarımızı yazabiliriz.

case "7";
echo "7|||Gilead|||15";
$q=$dba->query("INSERT INTO sepet(urun_ıd,user_id) VALUES (7,'$_session['user_id']') ");
break;

Uygulamanın çalışır demosunu incelemek için tıklayınız.

Uygulama dosyalarını zip şeklinde indirmek için tıklayınız.

 

[Kaynak]

10 thoughts on “PHP:Ajax: Fly to Basket (Uçan Sepet) Uygulaması

  • elinize sağlık güzel bir uygulama fakat veri tabanı yokmu bu uygulamada ??? ürünleri sepete at deyince nerede tutuyor ??? gün içinde geri dönersiniz çok iyi olur.iyi çalışmlar…

  • kusura bakmayın.veritabanı kodlarını yorumu yazdıktan soonra gördüm :):):) iyi çalışmalar

  • ben veritabanı olayını çözemedim yardımcı olurmusnuz nasıl oluşturacağım konusunda ????????

  • müslüm yardımcı olabilir sanırım yorumun henüz dikkatini çekmemiş. dilersen kişisel sitesinden müslüm’e ulaşabilirsin.

  • Keşke alıntı olduğunu yazsaydınız.
    Scripti değiştirip koymuşsunuz.

  • harika bir uygulama, bütün bu sepeti db ye bir seferde girmek için gereken kodu da yazsanız keşke
    bi foreach döngüsü lazım sanırım (PHP)

  • Atilla bey şimdi bunu kullanmak istiyorum diyelim ama çalışma mantığını anlamadım ben bunun yani addtoproduct php dosyası tam olarak ne işe yarıyor onu anlamadım..? Farzedelimki ben her sayfada tek bir ürün gösteriyorum ve ürün bilgileri veritabanından çeklip getiriliyor bu durumda hangi dosyada nasıl değişiklikler yapmalıyım..? Ürünü gösterdiğim Html dosyadaki değişkliği yaptım ancak ekle dediğimde undefined undefined ve NAN diye değerler yazdırıyor sepet kısmına dolayısıyla eksik birşey yapmışım demek ki..? Bir de mesela sepet kısmına yazdırdığı ifadeyi misal sadece 3 ürün toplam 1250tl şeklinde yazdırabilirmiyiz yani toplam adet ve toplam tutar değişsin her defasında hani ürün uçsun gitsin ama yazılı ifade sadece toplamı gösterse diyorum sonra sepete git dediğinde o uçanların hepsi orda görünsün diye düşünüyorum bunun için nasıl değişiklikler yapmalıyım js dosyasında ve addtoproduct php dosyasında müsait olduğunuzda anlatabilirseniz çok sevinirim..

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir