




Php İlle Belirli Tarihin Bu Güne Kaç Gün Kaldığı Ve Kaç Gün Geçtiği ?
-
Merhaba arkadaşlar ilk php scriptimi yazıyorum ama bi sıkıntım var veritabanımda 2011-09-18 gibi bir tarihim var istediğim şu;
veritabanında kayıtlı tarihin, içinde bulunduğumuz güne kaç gün kaldığı veya kaç gün geçtiği
yani eğer veritabanındaki tarih bu günden küçükse (+)bilmemkaçgün büyükse (-)bilmemkaçgün demem lazım yardımcı olan arkadaşlara şimdiden teşekkür ediyorum...
-
Çok anlamamakla beraber sql kısmında datediff fonksyonu yok mu?
-
mktime ile hallolur
incele http://forum.ceviz.net/php/66594-php-tarih-hesaplama.html
-
snnyk bunu yazdı:
-----------------------------
mktime ile hallolur
incele http://forum.ceviz.net/php/66594-php-tarih-hesaplama.html
-----------------------------aga bi yardım et de halledeyim şunu daha php ile ilk scriptim olduğundan mala bağladım...
-
http://www.plus2net.com/php_tutorial/date-diff.php
-
123456789101112131415161718192021222324252627282930313233343536373839404142434445
<?
//
$server
=
"localhost"
;
$user
=
"root"
;
$password
=
""
;
$database
=
"mert"
;
$baglan
= @mysql_connect(
$server
,
$user
,
$password
);
if
(!
$baglan
)
die
(
"mysql baglantısı yok"
);
mysql_select_db(
$database
,
$baglan
)
or
die
(
"database e baglanamadım"
);
//
$isle
=mysql_fetch_array(mysql_query(
"SELECT * FROM tarih"
));
$dbtarih
=
$isle
[
'tarih'
];
$bugun
=
date
(
"m.d.y"
);
//fonksiyon
function
fark_bul (
$tarih1
,
$tarih2
)
{
if
(!preg_match(
"@\.@"
,
$tarih1
) || !preg_match(
"@\.@"
,
$tarih2
))
exit
(
'Standart Format: 01.01.1970'
);
list(
$gun1
,
$ay1
,
$yil1
) =
explode
(
'.'
,
$tarih1
);
list(
$gun2
,
$ay2
,
$yil2
) =
explode
(
'.'
,
$tarih2
);
$tarih1_timestamp
=
mktime
(
'0'
,
'0'
,
'0'
,
$ay1
,
$gun1
,
$yil1
);
$tarih2_timestamp
=
mktime
(
'0'
,
'0'
,
'0'
,
$ay2
,
$gun2
,
$yil2
);
if
(
$tarih1_timestamp
>
$tarih2_timestamp
)
{
$fark
= (
$tarih1_timestamp
-
$tarih2_timestamp
) / 86400;
}
if
(
$tarih2_timestamp
>
$tarih1_timestamp
)
{
$fark
= (
$tarih2_timestamp
-
$tarih1_timestamp
) / 86400;
}
return
$fark
;
}
//
$tarihfark
= fark_bul(
$bugun
,
$dbtarih
);
echo
$tarihfark
.
"gün kaldı .."
;
?>
-
tavsiyem tarih değerini sql de herzaman int olarak tutman. İstediğin işlemi yapmanda sana çok yardımı olur.
-
Realist bunu yazdı:
-----------------------------
1234567891011121314151617<!--?
// $ = "localhost"; $user = "root"; $ = ""; $ = "mert"; $baglan = @mysql_connect$,$user,$; if! $baglan die"mysql baglantısı yok"; mysql__db$,$baglan or die" e baglanamadım"; // $isle=mysql_fetch_arraymysql_query" FROM tarih"; $dbtarih = $isle'tarih'; $bugun = date"m.d.y"; //fonksiyon fark_bul $tarih1,$tarih2 if !preg_match"@.@",$tarih1 || !preg_match"@.@",$tarih2 exit'Standart at: 01.01.1970'; list$gun1,$ay1,$yil1 = explode'.',$tarih1; list$gun2,$ay2,$yil2 = explode'.',$tarih2; $tarih1_timestamp = mktime'0','0','0',$ay1,$gun1,$yil1; $tarih2_timestamp = mktime'0','0','0',$ay2,$gun2,$yil2; if $tarih1_timestamp --> $tarih2_timestamp)
{
$fark
= (
$tarih1_timestamp
-
$tarih2_timestamp
) / 86400;
}
if
(
$tarih2_timestamp
>
$tarih1_timestamp
)
{
$fark
= (
$tarih2_timestamp
-
$tarih1_timestamp
) / 86400;
}
return
$fark
;
}
//
$tarihfark
= fark_bul(
$bugun
,
$dbtarih
);
echo
$tarihfark
.
"gün kaldı .."
;
?>
-----------------------------tamam bu şekilde kalan günü bulduk ya geçmişse?
-
SpermMan bunu yazdı:
-----------------------------
tamam bu şekilde kalan günü bulduk ya geçmişse
-----------------------------onuda sen yap işte
-
hacılar yok mu bir fikir algoritma yardım edin lütfen :S
-
SpermMan bunu yazdı:
-----------------------------
hacılar yok mu bir fikir algoritma yardım edin lütfen :S
-----------------------------ne algoritması hacı 4 işlem matematik yahu. timestamp tut geçmişse büyük tür küçüktürle bak ona göre işlem yap. kimse sana direk kodu yazıp vermez bunu unutma.
not: veren olursa da adamı hazıra alıştırmış olur onu da söyleyeyim. :)