Şimdi Ara

Sepet problemi

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
3
Cevap
0
Favori
593
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba bir problemim var şöyle :
    Veritabaninda kullanıcılar tablosunda sepet_id diye bir sütunum var üründeki sepete ekle tuşuna basınca o ürünün idsini aliyor sepet_id kısmına ekliyor soyle bir problem oluyor ben yeni bir urun eklersem eskisi kayboluyor bu problemi nasil çözerim? Yardımlarınız icin şimdiden teşekkürler(php dili kullanıyorum.)

    Ben veri tabanında array tutuluyor diye bu yapıya giriştim ama olmuyor sanırım bir yolu var mı en baştan yeni yapı kurmak istemiyorum

    < Bu ileti mini sürüm kullanılarak atıldı >



  • web kısmında veritabanına önem vermezdim ben de ama anladımki öncelik kesinlikle veritabanı olmalı.


    Senin tasarımına göre, kullanıcılar tablosunda 1 ürün tutabilen bir alan açmışsın.Aslında isimlendirmesi urun_id olsaydı daha iyi olacaktı :)

    Yaptığın işlem normalizasyon kurallarına uymasa da yapman gereken ama önermediğim şeyi söyliyim.

    -Ekle tuşuna basılınca, önce o kullanıcıyı bulursun, o kullanıcının ürünler listesini (array olarak tanımladım demişsin) alırsın,koda dönüştürür veya stringbuilder(c#) ile sonuna yeni ürünü eklersin.daha sonra bu arrayi tekrar güncellersin.


    Yapman gerekeni söyliyim.

    -Öncelikle ürünleri session veya cookie'de tutabileceğini de belirteyim ki çoğu sanırım bunlardan birini kullanır.Profesyoneller (desem yeridir) eklediğin ürün kaybolmasın ve sonraki girişlerinde de hatırlansın diye veritabanına ekler.cookie ile de yapılabilir ama silinebilir de.


    -Sepet veya SepettekiUrunler adında tablo oluşturursun ve kolonları 1'e çok şekilde tasarlarsın

    • ID int primary key identity(1,1) --tabloda artan primary key
    • userID --kullanıclar tablosundan kullanıcıyı foreign key ile alırsın
    • urunID --urunler tablosundan ürünü foreign key ile alırsın

    başka eklemek istediğin kolonlar var ise onları da alabilirsin.


    Kullanıcı birden fazla ürünü sepete ekleyebileceğinden her ürün için kayıtları burada tutarsın.örneğin


    (ID) (userID) (urunID)

    ----------------------------------

    1 3 1

    2 3 2

    3 3 6

    4 3 9


    şekilde eklersin.Kullanıcı sepetteki ürünleri listelemek istediğinde ise,


    Kod

    Yığını:
    select -- listelenecek hücreleri ekle from Sepet s inner join users u on u.id=s.userId inner join urunler urun on urun.id=s.urunID where s.userID= 3 -- 3 gelen kullanıcı idsi


    şeklinde bir sorgu işini görecektir.

    .Net 'ci olduğum için mssql yazdım.kontrol etmedim hatalı olabilir ynai.Mysql e uyarlarsın.





  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.