İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

date tarihlerle ilgili bi sorun

damAster

0
İyinet Üyesi
Katılım
10 Eylül 2006
Mesajlar
206
Reaction score
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
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
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.
 

damAster

0
İyinet Üyesi
Katılım
10 Eylül 2006
Mesajlar
206
Reaction score
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 :)
 

selim61

0
İyinet Üyesi
Onaylı Üye
Katılım
10 Mayıs 2006
Mesajlar
5,299
Reaction score
11
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.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
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
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst