Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

PHP dün, bugün meselesi


Pluton

Öne çıkan mesajlar

Selamlar, bu time() işlerinde hep kötüydü php'de ve biyerde kaldım yine gıcık oldum kendime. Şimdi haber sistemi var ve benim Bugün, Dün, Son 7 gün, Bu ay, Geçen ay, Arşiv kategorileri altında başlıkları listeletmem gerek.

$baslik = $f['baslik'];
$eklenme = $f['eklenme'];
$simdiki = time();
$cikar = $simdiki-$eklenme;
if ( $cikar <= (24*60*60) ) {
$bugun .= $baslik.'
';
}

Ben bugünü böyle aldımda. Dün, Son 7 gün v.s'yi nasıl alıcağım hakkında bi fikrim yok çünkü cidden bu time işlerinde berbatım. Yardımcı olursanız sevinirim
Link to comment
Sosyal ağlarda paylaş

şimdi time ı nasıl veriyor bilmiyorum.
ama 24*60*60 bu bir gündeki saniye sayısı , yani 1 günden öncesinden beri eklenenleri gösterir..
ha snaiyeyi fln ta tutuyosa zaten hepsi gelmez.

senin kod çalışıyorsa ordaki ifi biraz genişleterek mesela
if >0 && <= 24*60*60 yaparsan sırf dünü. 24*60*60 *7 yaparsan son 7 gün içindekileri göstermesi lazım.
(ama ben hiç php bilmiyorum ve saniye fln da döndüüyosa burda patlaması lazım bazı haberlerin, senin kodda dahil)
Link to comment
Sosyal ağlarda paylaş

LethE said:

şimdi time ı nasıl veriyor bilmiyorum.
ama 24*60*60 bu bir gündeki saniye sayısı , yani 1 günden öncesinden beri eklenenleri gösterir..
ha snaiyeyi fln ta tutuyosa zaten hepsi gelmez.

senin kod çalışıyorsa ordaki ifi biraz genişleterek mesela
if >0 && <= 24*60*60 yaparsan sırf dünü. 24*60*60 *7 yaparsan son 7 gün içindekileri göstermesi lazım.
(ama ben hiç php bilmiyorum ve saniye fln da döndüüyosa burda patlaması lazım bazı haberlerin, senin kodda dahil)


time olarak dediğin gibi 1970 'den buyana gelen saniye cinsinden değerini gösteriyor şöyle bir değer oluyor oda; 1249300667. Mesela bunun tarihe çevrilmiş hali 03-08-2009 14:57:47. 24*60*60 söylediğin gibi 1 günün saniye cinsinden değeri ama dün'ün saniye cinsinden değeri 2 katı diye düşündüm ben sanırım değilmiş =) If sorgusuna gelince dediğin gibide yapmıştım $cikar >= 0 && $cikar <= 24*60*60 ... gibi aynı değerlerle ama yediremedim.
Link to comment
Sosyal ağlarda paylaş

$cikar >= 0 && $cikar <= 24*60*60
burasını yaparsam hem dünü hem bugünü yapar. sırf büyük dicen.

ractamanius verdiğin kod adamın dediğiyle birebir uyuyor.
next week ile last week i karıştırıyor olmayasın :D

ek:
Mesela bunun tarihe çevrilmiş hali 03-08-2009 14:57:47.
hacı işte haberleri kaydederken saat dakika hesabı yapıyosan patlıyosun
ya saati hep 12:00:00 olarak kaydetmek gibi bi çözüm bul yada time ı al sonra %(60*60*24) yap böylece artık saati elde edicen onuda çıkararak hesapla.
Link to comment
Sosyal ağlarda paylaş

Ractamainus said:

php'den anlamam..

lakin http://tr.php.net/time adresine baktım.

$nextWeek = time() + (7 * 24 * 60 * 60);

diye bir şey var..

demek ki senin input olarak aldığın zamanın formatında bir problem olabilir.


o sayfanın bi ekran görüntüsünü gönderebilir misin sadece örneğini zahmet olmassa =) PHP.net'e giremiyorum bende
Link to comment
Sosyal ağlarda paylaş

(24*60*60*7) yapinca nasil yemedi?

Ayrica kullandigin yontem bence senin kafani karistiriyor. Oturup tarihlerle calisirsan daha rahat edersin.

Bu arada su soyledigin olaya timestamp denir. UNIX sistemlerde zamanin baslangici 19700101 kabul edilir. O tutulan saniyeyi bu tarihe eklersen belirtilen tarihe kavusursun. Senin yaptigin eklenme tarihini simdiden cikarip aradaki farki karsilastirmak.

Eklenme tarihi olayini zaten db'den aldigini dusunursek, isi sql'le halletmen senin icin cok daha iyi olacaktir. Sorgunu yazarken karsilastirma yapmani tavsiye ederim; gereksiz koddan kurtulursun, ayrica kafan karismaz. Hadi SQL'le yapmadin diyelim, o zaman da ne yaptigini anlatan aciklamalar koyarsan, bir daha baktiginda isine yarar. Her seferinde Amerika'yi yeniden kesfetme.

Son olarak da bu tur gun isleri, sadece gun uzerinden yapilir, saat uzerinden yaparsan istenilen elde elimez. Dedigim gibi sql'le bunu daha rahat yaparsin. Ama illaki timestamp'le php ile halledecegim diyorsan da mod kullanarak saatlik kisimini cikar o timestamp'ten, sonra cikarma islemlerini yap. Kafan daha cok karisacagi icin yapamayacaksin muhtemelen. Onun icin dogrudan DATE tipine cevirip oyle ilerle ki, print'le ne yaptigini farkedesin...
Link to comment
Sosyal ağlarda paylaş

LethE said:

ractamanius verdiğin kod adamın dediğiyle birebir uyuyor.
next week ile last week i karıştırıyor olmayasın :D

dediğim kod pluton'unkiyle aynı değil. o 2 time cinsini işleme sokmamış. bir tane ne olduğunu bilmediğimiz bir değişken var ortada.. ki hata muhtemelen orda patlıyor. "o değişkenin tipine dikkat etmek lazım" babında yazmıştım.

$nextweek falan isme takılmaya gerek yok, oradaki örneği kopyaladım zaten.. $lastweek deyip toplamak yerine çıkarabilir. örnek olduğu için önemsemedim. önemli olan adamın öyle işlem yapabildiği. bir de "haftayı nasıl hesaplarım" demiş.. o yüzden öyle hafta örneği koymuştum.

nitekim php'nin dokümantasyonu iyi pluton gördüğüm kadarıyla. şimdi ss alamam ama ktunnel tarzı bir proxy ile girebilirsin? (durumun uygunsa).

olmadı dokümantasyonu falan upload edelim.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...