PHP bir fiyat comparaison aracı kodlama

4 Cevap php

bunu hepiniz biliyorsunuz ben böyle bir araç geliştiriyoruz ilk kez (olasılık fiyat ve / veya seçeneklere göre makaleleri karşılaştırmak için) bulunuyor

Since I never did that i want to tell me what do you think of the way i see that :

Veritabanında biz olurdu:

offer / price / option 1 / option 2 / option 3 / IDseller / IDoffer
best buy / 15$ / full FTP / web hosting / php.ini / 10 / 1
.../..../.... 

Ve müşteri tarafından yapılan istek:

"SELECT * FROM offers WHERE price <= 20 AND option1 = fullFTP"; 

Sizin için Tamam görünüyor eğer ben bilmiyorum.

Plus i was wondering, how to avoid multiples displays for the same seller (not on the DB but only on the front-end). Imagine you have multiple offers with a price <= 20 with the option FullFTP for the same seller, i don't want him to be shown 5 times on the comparator.

Eğer herhangi bir tavsiye varsa ;)

Teşekkürler

4 Cevap

Sen veritabanı normalleştirme ve 3 normal formda hakkında okumak istiyorum.

Ayrıca satırları damgası gerekir ve sorguda bu aralıkları içerebilir.

Bir ilişkisel tablo bir anlaşma ile ayrı bir tablo ve agrega seçenekleri için seçenekleri hareket etmelidir.

seçenekleri (id, açıklama)

satılanlar (id, adı, tanımı, ...)

teklifi (id, seller_id, başlık, açıklama, fiyat, entry_date start_date, end_date)

offer_options (offer_id, option_id)

Bu daha yakın olmak gerekir ve bu işler çok daha kolay hale getirecek nerede size bir sürü alır.

Sonraki ... SQL katıldı

O satıcı birden çok kez SQL "IDseller GROUP BY" kullanmak görüntülenmesini istemiyorsanız.

Birden satıcılarına gösteren önlemek için, NEREDE fıkra sonra özelliği GROUP BY kullanmak için.

"SELECT * FROM offers WHERE price <= 20 AND option1 = fullFTP"; 

Eğer olsa, her satıcı içinde filtre emin olun. Bildiğim kadarıyla söyleyebilirim gibi, ilk kurulum sestir.

Bu soru çok genel görünüyor.

Ve neden Apache Lucene ön uç işlevselliğini uygulamak için kullanmak değil mi? PHP Lucene işlevsellik sunan Zend kütüphaneler vardır.

Veritabanındaki veri depolama tutmak, ama bir Lucene endeksi olarak da verebilirsiniz.

Tamam, bu fiyat karşılaştırma, ama seçenekleri için mantıklı olabilir. Sadece bir alandaki tüm seçenekleri koymak, virgülle ayrılmış, örneğin, ve metin arama kullanın.