Asp - Php - Cgi - Perl
[PHP - MYSQL] - Varyant Sistemi İle İlgili Beyin Fırtınası İsteği
[PHP - MYSQL] - Varyant Sistemi İle İlgili Beyin Fırtınası İsteği
-
asıl sorunum: tablo yapımı nasıl oluşturacağıma karar veremiyorum.
örnek üzerinden ilerlemek gerekirse; 2 veya daha fazla varyantı olan bir ürün düşünün ve bunun stoğunu detaylı bir şekilde tutmak istiyorum.
#RENK
- Kırmızı
- Beyaz
- Siyah#BEDEN
- Small
- Medium
- Large
mesela yukarıdaki gibi varyantları olan bir tshirt ürünüm olsun. tüm renklerin ve bedenlerin kalan stoklarını anlık olarak listeleyebilmek istiyorum. aşağıdaki gibi neyden kaç tane kaldı görebilmek istiyorum. varyant sayısını sabit düşünmeyin. 1 de olabilir, 2 de, 3 de..- Kırmızı&Small
- Kırmızı&Medium
- Kırmızı&Large
- Beyaz&Small
- Beyaz&Medium
- Beyaz&Large
- Siyah&Small
- Siyah&Medium
- Siyah&Large
- Kırmızı
- Beyaz
- Siyah
- Small
- Medium
- Largeve ziyaretçi siteden ürün seçercen rengi ve bedeni ayrı ayrı seçecek. renkten kırmızıyı, bedenden de small'u seçince "Kırmızı&Small" , "Small" ve "Kırmızı" dan stok düşürmeliyim.
lepusmorris tarafından 30/Eki/19 16:18 tarihinde düzenlenmiştir
daha önce bu tarz bir çalışma yapan arkadaşlar var mı? -
Stok tablon
id, urun_id, renk_id, beden_id, adet
1, 5, , 1 , 1 , 40
2, 5, , 1 , 2 , 14
3, 5, , 1 , 3 , 99
şeklinde olursa istediğin gibi olur diye tahmin ediyorum. Tablo okunabiliyordur umarım.
-
ontedi bunu yazdı
Stok tablon
id, urun_id, renk_id, beden_id, adet
1, 5, , 1 , 1 , 40
2, 5, , 1 , 2 , 14
3, 5, , 1 , 3 , 99
şeklinde olursa istediğin gibi olur diye tahmin ediyorum. Tablo okunabiliyordur umarım.
hocam beden ve renk varyantları sabit değil; özelleştirilebilir. yani varyant "Özellik - 1" deyip, altına A, B, C, D.. gibi seçenekler ekleyebilirim.
ondan dolayı bu yapı uymuyor ve sipariş sayfasında bu özellikleri ayrı ayrı seçtireceğim. renk ve beden örneğinde olduğu gibi rengi ve bedeni ayrı ayrı seçecek.edit: yani varyant listemi ayrı bir tabloda tutuyorum. bu varyantlara alt seçenekleri ayrı bir tabloda tutuyorum. daha sonra bu varyantları ürünlerle ilişkilendiriyorum ayrı bir tabloda. tabi bir varyantın tüm seçeneklerini de eklemeyebiliyorum.
lepusmorris tarafından 30/Eki/19 16:30 tarihinde düzenlenmiştir -
Renkler ve bedenler tablon olsun. Ona göre sınırsız sayıda kombin yapabilirsin. Ama stok tablon bu kombinlere bağlı olmalı.
-
Ilk aklima gelen bu sekilde olabilir :
renkler(renk_id , renk)
bedenler(beden_id, beden)
urun(urun_id , *** )
urun_varyantlari(urun_varyant_id, urun_id , renk_id , beden_id )
urun_stok(urun_stok_id, urun_varyant_id , adet)
-
hocalar yanıtlarınız için teşekkür ederim ama önerdikleriniz aradığım cevaplar değil malesef. daha somutlaştırmak gerekirse aşağıdaki videodan yapmak isteğime göz atabilirsiniz.
https://youtu.be/Q3HfU1IuuQE?t=376
-
https://stackoverflow.com/a/24941744/637724
Burayı bi incele hocam
-
--variant tablosu yapısı
VariantsTable
{
VariantId identity int,
VariantName string
}--ürün tablosu yapısı
ProductTable
{
ProductId identity int,
ProductName string
}--ürünlerin variant tablosu yapısı
ProductVariantChild
{
RowId identity int,
ProductId,
VariantId
}--variant tablosu içeriği
VariantId,VariantName
1,Renk
2,Size
3,Telefon Kapasitesi--ürün tablosu içeriği
ProductId,ProductName
1,a tişört
2,b tişört
3,c tişört
4,telefon--ürünlerin variant tablosu içeriği
RowId,ProductID,VariantId,VariantContent
1,1 (yani a tişörtü),1(yani renk), Siyah
2,1 (yani a tişörtü),2(yani renk), XL
3,4 (yani telefon),1(yani renk), Siyah
4,4 (yani telefon),3(yani kapasite), 64 gbbu şekilde ilerleyebilrsn yada Siyah XL ve 64 gb gibi valueleri de ayrı bir child tabloda tutabilrsn. benim yapım buydu :)
-
lepusmorris bunu yazdı
hocalar yanıtlarınız için teşekkür ederim ama önerdikleriniz aradığım cevaplar değil malesef. daha somutlaştırmak gerekirse aşağıdaki videodan yapmak isteğime göz atabilirsiniz.
https://youtu.be/Q3HfU1IuuQE?t=376
Hocam yazdigim yapida dedigin oluyor.
Urtune istedigin kadar varyant ekle.... Secerkende varyant sec ....
-
ürün tanım tablonda sadece ürünün ismi olduğunu düşün
varyant tablonda ürün idsi, rengi, bedeni (daha da özelleştirilebilir) ve stoğu olacak.
stok düşerken bu varyant tablosundan düşeceksin.
ya da
ürünü her varyant için tekrar oluşturacaksın ama mantıksal bir gruplama yaparsın listelemelerde falan aynı üründen onlarca görünmemesi gerekir.
her varyant için otomatik yaparsın bunu örn: ürünü ekledin varyant ve stok girdiğin bir ekrandan bütün varyantları stok adetleriyle birlikte ürün tablona oluşturacak.
-
hocalar şimdi varyantların stoklarını ayrı ayrı tutsam hiçbir sıkıntı yok zaten ama varyantlar birbiriyle ilişkili olduğu için çıkamadım içinden.
şimdi ürün_varyant_seçenekleri diye bir tablo açıp buraya TSHIRT ürününün kırmızısndan şu kadar, beyazından şu kadar, small'undan, medium'undan diye ayrı ayrı girebilirim. böyle olsa zaten dediğim gibi problem yok.
sıkıntı kırmızısından stok var olabilir, smalldan da var olabilir ama kırmızısının small bedeninden kalmamış olabilir. yani sadece kırmızı ve small varyant seçeneklerinin stoklarına bakarsam yanılacağım. seçilen varyantların bütün kombinasyonlarını ve ayrı ayrı varyant seçeneklerinin tümünün stoklarını tutmam gerekiyor gibi düşünebilirsiniz. ayrıca beden ve renk diye bir sütun açamıyorum. çünkü varyantlar sabit değil. varyant1, varyant2 diye de açamıyorum; çünkü onunda belirli bir sayısı yok. 1 de olabilir, 2 de olabilir, daha fazla da.
mevcut yapı aşağıdaki gibi: