• 06-10-2019, 21:25:03
    #1
    merhabalar, ilan sitem var. Kullanıcılar kendi ilanlarını üste çıkartabilsin istiyorum. Normalde anasayfada tarihe göre sıralama yapıyorum. Aklıma mantıklı hiçbir şey gelmedi. Kolay ama işlevsel bir yöntem söyleyebilir misiniz? Mantığını anlatırsanız kendim yapabilirim diye düşünüyorum.

    Not: php mysql kullanıyorum + kendi tasarlayıp kodladığım bir web sitesi.
  • 06-10-2019, 21:29:54
    #2
    basit bir ilanı üste çıkar butonu verebilirsin 24 saatte bir üste çıkarma hakları olur. böylece sitene günlük girmeleri için de zorlamış olursun onları.ama bu başarılı sonuç vermeyebilir pek.
    mesela popüler sitelerde üste çıkan ilanlarda sadece üste çıkmayı istemekle değil,popüler ilan başarılı satıcı ürün talebi kullanıcı ilgisi gibi onlarca kalem var
  • 06-10-2019, 21:44:57
    #3
    Hocam kayıp ilanları vs veriyor insanlar. Normal bir satış sitesi değil yani. İleride premium gibi üyelikler getirebilirim ama şimdili ücretsiz bütün kullanıcıların sahip olmasını istiyorum. Uygun bir zamanda kodlayacağım ama sıralama mantığını tam kafamda oturtamadım. Normalde tarihe göre yapıyorum.

    Aklıma şey geliyor; veritabanında ilanSira şeklinde bir sütun düşünelim. (ilk başta bütün ilanlar ilk insert edildiğinde aldığı id ilanSira'nın değeri olsun. Yani en büyük değer ilk başta) Kullanıcılar da her ilanı üste taşı butonuna tıklattığında veritabanındaki en büyük ilanSira değerine 1 ekleyip kendi satırı için update etse en üst sıraya taşınmış olur. Bu mantıkla hareket etmem doğru olur mu yoksa başka yöntemi var mıdır?

    Bu arada sadece tek sütun ekleyerek değil son üste çıkarma tarihini de tutmam gerekiyor. O butona her tıklattığında 24 saat geçmiş mi diye kontrol edecek. Aynı zamanda aklıma da mail ile 24 saati geçtiğinde mail atmasını sağlamak istersem bir sütun daha mı eklemem gerekecek? (Her butona tıklattığında mailGonder 1 olacak. 24 saat geçtiğinde mailGonder'i 0 olarak değiştirip mail atacak.)

    azizak adlı üyeden alıntı: mesajı görüntüle
    basit bir ilanı üste çıkar butonu verebilirsin 24 saatte bir üste çıkarma hakları olur. böylece sitene günlük girmeleri için de zorlamış olursun onları.ama bu başarılı sonuç vermeyebilir pek.
    mesela popüler sitelerde üste çıkan ilanlarda sadece üste çıkmayı istemekle değil,popüler ilan başarılı satıcı ürün talebi kullanıcı ilgisi gibi onlarca kalem var
  • 06-10-2019, 21:51:38
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Söylediğin mantığa yakın bir şekilde yapabilirsin ama o şekilde olmaz. Zaten dediğin gibi en son üste çıkarma tarihini bir alanda saklaman gerekecek. Bu yüzden bir usteCikar gibi bir alan yap, buraya ilan oluştururken 'time()' ile zaman damgasını ver, sıralamaları eskiden yaptığın gibi yine tarihe göre buradan yap. Üste çıkarma işlemi yapıldığında bu alanı güncel tarih ile değiştir. Tekrar üste çıkarma hakkı vermek için de yine buradaki tarihi kullanabilirsin.
  • 06-10-2019, 21:51:46
    #5
    İlan ilk açıldığında verdiğiniz timestamp üzerinden kontrol yapıp 24 saat geçip geçmediği kontrol edilip ayrı bir sütunda buna göre taşınıp taşınmadığı kontrol edilebilir ve buton aktif hale getirilebilir. Profesyonel kesinlikle değilim az ve kıt bir bilgim var ancak ben olsam bu şekilde yapmaya çalışırdım. Tabi bu çerçevede ilan sıralamasını yaparken yazdığın sql sorgusuna bir ekleme daha yapmak gerekiyor.
  • 06-10-2019, 22:01:09
    #6
    Aa evet hocam bu daha mantıklı... Aklıma yattı bu. Hem de benim söylediğim yöntemden daha kısa sanki insan 5dk da halledebilir gibi geliyor Teşekkür ederim yorumunuz için r10+

    AhmetTulgar adlı üyeden alıntı: mesajı görüntüle
    Söylediğin mantığa yakın bir şekilde yapabilirsin ama o şekilde olmaz. Zaten dediğin gibi en son üste çıkarma tarihini bir alanda saklaman gerekecek. Bu yüzden bir usteCikar gibi bir alan yap, buraya ilan oluştururken 'time()' ile zaman damgasını ver, sıralamaları eskiden yaptığın gibi yine tarihe göre buradan yap. Üste çıkarma işlemi yapıldığında bu alanı güncel tarih ile değiştir. Tekrar üste çıkarma hakkı vermek için de yine buradaki tarihi kullanabilirsin.
    Evet hocam benim dediğim yönteme de biraz yakın bu. Üsttekini kullanacağım sanırım teşekkür ederim
    Athynas adlı üyeden alıntı: mesajı görüntüle
    İlan ilk açıldığında verdiğiniz timestamp üzerinden kontrol yapıp 24 saat geçip geçmediği kontrol edilip ayrı bir sütunda buna göre taşınıp taşınmadığı kontrol edilebilir ve buton aktif hale getirilebilir. Profesyonel kesinlikle değilim az ve kıt bir bilgim var ancak ben olsam bu şekilde yapmaya çalışırdım. Tabi bu çerçevede ilan sıralamasını yaparken yazdığın sql sorgusuna bir ekleme daha yapmak gerekiyor.
  • 06-10-2019, 22:03:37
    #7
    Teşekkürler, kolay gelsin

    berkaycatak adlı üyeden alıntı: mesajı görüntüle
    Aa evet hocam bu daha mantıklı... Aklıma yattı bu. Hem de benim söylediğim yöntemden daha kısa sanki insan 5dk da halledebilir gibi geliyor Teşekkür ederim yorumunuz için r10+



    Evet hocam benim dediğim yönteme de biraz yakın bu. Üsttekini kullanacağım sanırım teşekkür ederim
  • 06-10-2019, 22:06:28
    #8
    Bu arada imzanızda mysql görmüşken size sorayım, doping isimli datetime türünde bir sütun oluşturdum. Bütün ilanların tarihini bu sütuna yazdırmam lazım, şimdiki sırasının bozulmaması için. Bunu php ile mi yapmam lazım yoksa daha kısa bir yolu var mıdır?

    AhmetTulgar adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler, kolay gelsin
  • 06-10-2019, 22:08:09
    #9
    berkaycatak adlı üyeden alıntı: mesajı görüntüle
    Bu arada imzanızda mysql görmüşken size sorayım, doping isimli datetime türünde bir sütun oluşturdum. Bütün ilanların tarihini bu sütuna yazdırmam lazım, şimdiki sırasının bozulmaması için. Bunu php ile mi yapmam lazım yoksa daha kısa bir yolu var mıdır?
    UPDATE TABLOADI SET doping = Tarih
    yeterli olacaktır