date tarihlerle ilgili bi sorun

0
Onaylı Üye
Üye
Katılım
10 Eylül 2006
Mesajlar
206
Tepki puanı
0
selam arkadaşlar.

mysql ile ilgili kücük ama önemli bi eksiğim var. DATE tipi alanları kulllanamıyorum. Örneğin bi üyelik sistemi yaptık ve üyeyi kayda sokarken kayitTarihi gibi bi alanada kaydolduğu tarihi koymak istiyoruz.

Mysql de yapıyı kurarken kayitTarihi ni DATE tipinde seçtiğim zaman, 0000-00-00 gibi tarih-ay-yıl benzeri bi formata sokuyor ve veri girişinide bu şekilde istiyor. Tamam hadi 2007-06-11 gibi soktuk diyelim. Bunu daha sonra biyere php ile echoladığımda 2007-06-11 gibi aynen görünüyor. 11.06.2007 şeklinde görünmesini isterim.

hal boyle olunca DATE yerine bildigimiz Varchar kullanıyorum tarih gibi alanlarda. Tabi böyle oluncada tarih aralığı vererek kayıt sorgulayamıyorum sqlden.

yani ana problem yapıda DATE tipi olan alana 11.06.2007 tarihini nasıl yazarım? Eksik ve yanlış bilgilerimi heryerini onra bilirsiniz size bırakıyorum:p
 
0
Onaylı Üye
Üye
Katılım
12 Aralık 2004
Mesajlar
9,603
Tepki puanı
106
Konum
AZ
MySQL'e öyle yazıyorsun diye o şekilde bastırmak gibi bir mecburiyetin yok, aşağıya benim yazdığım bir fonksiyonu ekliyorum. Date ve Time stampleri insani şekilde gösterir.

PHP:
$months = array("1" => "Ocak",
		"2" => "Şubat",
		"3" => "Mart",
		"4" => "Nisan",
		"5" => "Mayıs",
		"6" => "Haziran",
		"7" => "Temmuz",
		"8" => "Ağustos",
		"9" => "Eylül",
		"10" => "Ekim",
		"11" => "Kasım",
		"12" => "Aralık");

// FUNCTION TO CONVERT STAMPS TO ACTUAL DATES
function convstamp($stamp) {

global $months;

$datex = explode(" ",$stamp);
$date = $datex[0];

$date = explode("-",$date);
$month = $date[1];

	if ($month != "10") {
	$month = str_replace('0','',$month);
	}


$date = $date[2].' '.$months[$month].' '.$date[0].' '.$datex[1];

return $date;
}


Kullanımı
echo convstamp("2007-06-11");
ya da
echo convstamp($row[tarih]);

gibi.

2007-06-11 i 11 Haziran 2007 şeklinde yazar.
üzerinde oynama yapabilirsin. Tarih ve stampleri varchar olarak kullanma mysqlde.
 
0
Onaylı Üye
Üye
Katılım
10 Eylül 2006
Mesajlar
206
Tepki puanı
0
Benim aklıma bu yazdığın kod zaten gelmişti ama bunca olan biten olaydan sonra bi tarih olayınımı halledemeyecek bu php & mysql? ben zaten bu verdigin yolu yapmamak için soruyordum soruyu. Tabii diğer arkadaşlarda başka yolu yok fonksiyonla çevir derlerse, mecburi kullanıcaz. yinede teşekkür ederim :)
 
0
Onaylı Üye
Üye
Katılım
10 Mayıs 2006
Mesajlar
5,299
Tepki puanı
13
Konum
<?=selim61?>
Benim aklıma bu yazdığın kod zaten gelmişti ama bunca olan biten olaydan sonra bi tarih olayınımı halledemeyecek bu php & mysql? ben zaten bu verdigin yolu yapmamak için soruyordum soruyu. Tabii diğer arkadaşlarda başka yolu yok fonksiyonla çevir derlerse, mecburi kullanıcaz. yinede teşekkür ederim :)
tablo alanını date değilde varchar olarak tanımla istediğini yaz.
 
0
Onaylı Üye
Üye
Katılım
12 Aralık 2004
Mesajlar
9,603
Tepki puanı
106
Konum
AZ
Soru ne anlamadım o zaman date tipi alana 11.06.2007 yazamazsın soru buysa. Ya yukarıdaki gibi ya da aşağıdaki gibi normal formattan dönüşüm yap.

SELECT DATE_FORMAT(tarih, '%d.%m.%Y') FROM kullanicilar
 
Geri
Üst