Merhaba arkadaşlar. E ticaret sitelerinde filtreleme mantığında takıldım, acil yardımlarınızı bekliyorum.
Soruyu örnek site üstünde sorayım.
Sayfamız bu:
https://www.ayakkabidunyasi.com.tr/e...unluk-ayakkabi
Bu sayfaya Erkek ana kategorisi altındaki günlük ayakkabı seçeneğine tıklayarak ulaştık.
Şimdi bu sayfanın sol kısmındaki filtre seçeneklerinden renk ve ayakkabı numaraları filtrelerine bakalım.
Renk seçeneklerinde toplam 19 renk, ayakkabı numarası seçeneklerinde ise toplam 12 seçenek var. Renk seçeneklerindeki fıstık yeşiline tıklayalım. Şimdi ayakkabı numaralarında 7 seçenek kaldı.
Velhasıl kelam seçilen renkte 43 numara ayakkabı stokta yoksa 43 numara seçeneğini göstermiyor. Veya materyal filtresinde deri seçeneğini seçtiysek ve turuncu renkli deri ayakkabı yoksa turuncu renk seçeneği gösterilmiyor.
Bunu nasıl yaparım? Bi arkadaş kıyısından köşesinden bi yol gösterse, devamını getiririm.
Henüz bu şekilde filtrelemek için bi mantık oluşturamadığımdan özellikleri ekleyip kategorilerle ilişkilendirmeyi da yapamadım. Vaktim kısıtlı acilen bitirmem lazım, yardımlarınızı bekliyorum.
Teşekkürler, saygılar.
Dostum selamlar, sana çok temel düzeyde mantığı anlatıyorum. Dediğin gibi gerisini sen getireceksin.
Bu iş için en az ikinci seviye normalize olmuş bir veritabanı yapısı oluşturmalısın.
Örnek veriyorum. Ayakkabı satıyorsun. Ayakkabıların numaraları ve renkleri olsun.
En basit düzeyde bu filtrelemeyi yapabilmen için 5 tablo gerekiyor.
Ayakkabı modelleri tablosu, a model ayakkabı b model ayakkabı gibi ayakkabıları satır halinde tutacaksın.
Numaralar tablosu; 41,42,43 gibi ayakkabı numaralarını tutacaksın.
Renkler tablosu; mavi, siyah, kahverengi gibi.
4.tablo ilişki tablosu olacak. Senin satmakta olduğun ürünleri stoğunda olup olmadığına bakmaksızın burada ilişkilendireceksin. Örnek a ayakkabısından 43,44 numara ve siyah, kahverengi renklerinde satıyorsun.
Toplam 4 modelin var, a-43-siyah, a-43-kahverengi, a-44-siyah, a-44-kahverengi.
4 ayakkabı modelini de ilişki tablosunda birbiri ile ilişkilendirdiğin zaman dükkanındaki ürünler belli artık. Son tablon stok tablosu. A-43-siyah modelinin primary key i 5 olsun. Stok tablosunda 5 ürününün stoğu 4 olsun.
Şimdi aramada adam mesela siyah 45 numara a model ayakkabı aradı yada filtreledi ve bu ayakkabıya kadar geldi. sen hemen 4.tablo olan ilişki tablosuna bakacaksın. Bu model dükkanımda satılıyor mu, satmıyoruz. O zaman gerekli hatayı gösterirsin. Varsa bu ürünün stoğuna bakarsın. Varsa satarsın. Yoksa kalmadı dersin. Filtre sonucunda listeleyeceğin ürünleri bu mantıkta listeleyeceksin. Örn 42-45 no arası mavi a,b modelleri filtresi için ilişki tablosunda gerekli sql sorugusunu attığın zaman kalan sonuçlar ürünlerindir.
Biraz acele yazdım telefondan yazdım çünkü, takılırsan devamını sorabilirsin. İyi çalışmalar.