lostyazilim
tr.link

PHP ile db de bulunan dakikaları toplamak

8 Mesajlar 1.182 Okunma
acebozum
tr.link

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Merhaba
Php mi geliştirmek için birşeyler deniyorum. Bir konuda takıldım ve çözüm bulamadım.
Mysql veritabanı de tablonun bir sütununda dakikalar mevcut (00:45) (SS:DD) gibi.
Bu veritabanında bulunan tüm dakikaları toplayarak toplam süreyi dakika,saat,gün ve ay olarak yazdırmak istiyorum. (SUM) ile denedim fakat olmadı.
Database dakikaların olduğu bölümün türü de varchar(255)
Bu duruma göre nasıl bir yol izlemeliyim ve ne yapabilirim?
 

 

elektronikssl
webimgo

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
mysql convert to datetime diye aratabilirsin.

Select yaparken tip dönüşümü yaparak istediğin tip çıktı elde edebilirsin.
 

 

www.ontedi.com
www.cizgi.site

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
ontedi teşekkürler fakat ufak bi örnek verebilir misin ilk aptığım için aratıp bulduğum dökümanlar karışık geldi.
 

 

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
Hocam


SELECT STR_TO_DATE(tarih_sutunu, '%m/%d/%Y')
FROM tablo_adi


denemedim ama netteki dokümanlarda böyle söylüyor. Mysql'in sitesinde de böyle mevcut.
 

 

www.ontedi.com
www.cizgi.site
wmaraci
wmaraci

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
benim tarihler varchar ile yapıldığından bunu yapamayabilirim sanırım :)
 

 

cagriari cagriari WM Aracı Kullanıcı
  • Üyelik 20.03.2016
  • Yaş/Cinsiyet 35 / E
  • Meslek Freelancer
  • Konum Niğde
  • Ad Soyad Ç** A**
  • Mesajlar 23
  • Beğeniler 3 / 3
  • Ticaret 0, (%0)
Bütün verileri çekip her birini parçalamanız gerekebilir

$saat = 0;
$dakika = 0;
while($veri = mysql_fetch_array($sql))
{
preg_match("/\((.*?):(.*?)\)/i",$veri['saatdakika'],$cikti);
$saat += $cikti[0];
$dakika += $cikti[1];
}


tarzı birşeyler oluyor :)
 

 

Skype: hesapadim-cagri
PayPal, Bitcoin, Akbank ödeme yöntemleri
PHP C# HTML JS CSS programcısı

salihulukoylu salihulukoylu WM Aracı Kullanıcı
  • Üyelik 03.12.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek Webmaster
  • Konum İstanbul Anadolu
  • Ad Soyad S** U**
  • Mesajlar 26
  • Beğeniler 10 / 6
  • Ticaret 0, (%0)
Merhaba,
Ben şöyle bir örnek verebilirim.
İş takip yazılımı geliştirirken şöyle bir yol izlemiştim.
İşe başlama tarihi ve bitirme tarihi ayrı sütunlar olarak datetime türünde kayıt ediyorum.
Bitiş ve başlangıç tarihi arasındaki dakika farkını TIMESTAMPDIFF ile alıyorum.
Total isimli sütuna dakika farklarını toplayarak ekliyorum.
Örnek bir mysql komutu şöyle olabilir.

update tabloadı set total=total+TIMESTAMPDIFF(MINUTE, baslangic_tarihi, bitis_tarihi ) where id=id

Böylelikle iki tarih arasındaki dakika farklarını int türünden total isimli sütunda topluyorum.
Örnek bir total sütunu içerisindeki veri şöyle oluyor "68021".

Php ile dakika farkını saat ve dakika olarak göstermek içinde şöyle bir yöntem kullanıyorum.

$saat = floor($yenisatir['total']/60);
$dakika = $yenisatir['total'] % 60;
echo $saat . " saat " . $dakika . " dakika ";


umarım yardımcı olur.
Exor

kişi bu mesajı beğendi.

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Bunu deneyeceğim. Teşekkürler.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al