Pluton Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 Off bu matematik öldürecek beni yine rezervasyon sistemiyle alakalı birşey sorucam. Sabah sabah algılarım fena kapalı. Ardışık sayııları düşünün ama sadece 31'e kadar. Yani kişi rezervasyon yaparken şubat ayının 3-4-5-6 seçebilir ama 3-4-5-7-8 seçemez gibi algoritma kurmam gerekli. Ayrıca 28-29-30-31-1-2-3 'de olabilir. Bunun algoritmasını hangi fonksiyonlarla ve mantıkla kurarım. Bir fikri olan var mı?
Seele Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 ben olsam arraya atarim ve 29 30 31 icin fonksiyon icinde "1" bakarim.
Seele Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 function ardasiksayi($tarih) { $result = true; for ($i = 0; $i < count($tarih); $i++) { if($tarih[$i] == 29) { if($tarih[$i+1] != 30 || $tarih[$i+1] != 1) { $result = false; break; } } elseif($tarih[$i] == 30) { //yukardaki gibi } elseif($tarih[$i] == 31) { //yukardaki gibi } elseif($tarih[$i] == count($tarih)) { // bitti son sayi cik :D break; } elseif($tarih[$i+1] != $tarih[$i]+1) { $result = false; break; } } return $result; } hizlica yazdim test felan etmedim syntax icinde garantisi yok. algo felan olmasi lazim nette bi bakaydin.
Mirage Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 Seele, yazdigin sekilde yaparsan 31 gün ceken ay icin de 29-30-1 e izin vermis oluyorsun. Pluton said: Ayrıca 28-29-30-31-1-2-3 'de olabilir. Subat ayi icin de 31 secmesine izin vericek misin peki?
Pluton Mesaj tarihi: Şubat 22, 2012 Konuyu açan Mesaj tarihi: Şubat 22, 2012 Şimdi zaten bunları takvimden seçeceği için ve takvimde şubat en fazla 29 çektiği için seçemiyor. Ama saldırgan lamelerden birisi gelir de seçer belki diye yapmak lazım diye düşünüyorum. Yukarıda ki fonksiyon ile biryerlere gelmeye çalışıyorum ama lanet olsun matematik olayında iyice geriledim aklım almıyor şu olayı.
fizban Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 dayofyear diye bir fonksiyon yaz. tarih verdiğinde o yıldaki kaçıncı günler olduğunu döndürsün. daha sonra kullanıcı hangi günler için rezervasyon yaptıysa o günler için dayofyear'ı çağır, ve elindeki array'e ekle. elindeki array'deki elemanlar örneğin şubat ayı için şunun gibi olabilir: 40-41-42-43-44 daha sonra ardışık kontrolü yap. ilk eleman ile son eleman arasında, var olmayan eleman var mı diye kontrol et. (bir önceki fonksiyonda sortlarsan çok kolay)
Seele Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 ben sadece fikir vermesin icin kodladim. yoksa 5 saniyede yazilan bisi. daha iyi bir sekilde mesela tüm tarihi arraya atip parseleyebilir daha sonra tarihden (sanirim phpde de date fonksiyonu benzer bisi var) o ayin kac cektigi bulabilir. orasi cok zor degil yani.
Pluton Mesaj tarihi: Şubat 22, 2012 Konuyu açan Mesaj tarihi: Şubat 22, 2012 fizban said: dayofyear diye bir fonksiyon yaz. tarih verdiğinde o yıldaki kaçıncı günler olduğunu döndürsün. daha sonra kullanıcı hangi günler için rezervasyon yaptıysa o günler için dayofyear'ı çağır, ve elindeki array'e ekle. elindeki array'deki elemanlar örneğin şubat ayı için şunun gibi olabilir: 40-41-42-43-44 daha sonra ardışık kontrolü yap. ilk eleman ile son eleman arasında, var olmayan eleman var mı diye kontrol et. (bir önceki fonksiyonda sortlarsan çok kolay) Abi sen çok yaşa ya gerçekten. Day of Year hiç aklıma gelmedi yemin ediyorum. Offf sabahtan beri düşünüyorum nasıl yaparım diye :D
fizban Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 dayofyear diye bir fonksiyon direk var mıymış ? ben kendin yazman gerekiyor diye düşündüydüm eheh. php bilgim pek iyi değildir.
Pluton Mesaj tarihi: Şubat 22, 2012 Konuyu açan Mesaj tarihi: Şubat 22, 2012 Var abi var ya kendim uğraşmama gerek yok :D Ahanda burada http://php.net/manual/en/function.getdate.php array içinde "yday" diye veriyor arkadaş sağolsun :D
Pluton Mesaj tarihi: Şubat 22, 2012 Konuyu açan Mesaj tarihi: Şubat 22, 2012 Ardışık sayı olayıyla ilgili en fazla 365 olması lazım. Yani 365-0-1-2 'de olabilir. Regexp'de yapılıyorda bu arrayde onun kontrolünü nasıl yapıcam ona bakıyorum. Abi bu ingilizcede "consecutive" olarak kullanılmıyor mu ya ardışık sayılar
Pluton Mesaj tarihi: Şubat 22, 2012 Konuyu açan Mesaj tarihi: Şubat 22, 2012 Öyle birşey söyledin ki şimdi :D Sayının modunu alınca noluyordu ya sdf
Mirage Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 Day of time continuum diye bi fonksiyon yaz... ya da bosver. :p
fizban Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 ya mod işte. modüler aritmetik. neyini anlatalım ehue
Pluton Mesaj tarihi: Şubat 22, 2012 Konuyu açan Mesaj tarihi: Şubat 22, 2012 Yok abi ne anlatması dur ben şimdi fonksiyon bulup ondan bir mantık kapıcam :D
Seele Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 Pluton said: Öyle birşey söyledin ki şimdi :D Sayının modunu alınca noluyordu ya sdf teyzem sandalyeden düstü ahah mod iste abi.
Pluton Mesaj tarihi: Şubat 22, 2012 Konuyu açan Mesaj tarihi: Şubat 22, 2012 Ne bilim ya moddur trigonometridir zarttır zurttur uğraşmayalı yıllar oldu. Lanet gelsin nerden girdim bu takvim işine
4Ever Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 Başlangıc ve Bitiş tarihi seçtirip onların arasındaki gunleri bulsan daha kolay olmaz mı ?
Mum_Chamber Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 http://stackoverflow.com/questions/8461543/check-for-consecutive-dates-within-a-set-and-return-as-range isini gormuyor mu?
riglous Mesaj tarihi: Şubat 22, 2012 Mesaj tarihi: Şubat 22, 2012 Day of year yaparsan yıl atladığında nolacak? Şubat her sene 29 çekmiyor; mod'la yapamazsın. http://php.net/manual/tr/function.date.php Oku, düşün. Biliyorum zor senin için ama...
Pluton Mesaj tarihi: Şubat 24, 2012 Konuyu açan Mesaj tarihi: Şubat 24, 2012 Dinlenmek gerçekten çok iyi birşeymiş ya bu olayı şu şekilde çözdüm; Şimdi adamın seçtiği tarihler örneğin "25-02-2012 ve 04-03-2012" olsun. Bu 2 tarih arasında ki tüm günleri bulup bir array'e attım. Zaten bunu bulduktan sonra geri kalan istediğiniz kontrolü yaptırabiliyorsunuz. Fonksiyonu hazır biryerde bulup kendime göre düzenledim. 2 tarih arasında kalan tüm tarihleri bulmak isterseniz fonksiyon şudur; function dates_range($date1, $date2) { if ($date1<$date2) { $dates_range = strtotime($date1).','; $date1=strtotime($date1); $date2=strtotime($date2); while ($date1!=$date2) { $date1=mktime(0, 0, 0, date("m", $date1), date("d", $date1)+1, date("Y", $date1)); $dates_range .= $date1.','; } } return substr($dates_range,0,-1); }
Mirage Mesaj tarihi: Şubat 24, 2012 Mesaj tarihi: Şubat 24, 2012 $date1 de ne? O bir kuuş, o bir uçak, hayır o süpermeeen! Bazen dinamik tip sistemi olan dillere kafa göz girişesim geliyor.
Öne çıkan mesajlar