2015-07-09 4 views
6

gelen zaman göstermiyor.PHP bir olaya kadar zaman</p> <p><img src="https://i.stack.imgur.com/02CC8.png" alt="enter image description here"></p> <p>Başlangıç ​​başlangıç ​​tarihi ve saati, bir veritabanından alınır başlamak Ben çıkışlar saymak bir senaryomuz var veritabanında doğru

My Problem

Gün doğru hesaplanır ancak saat her olay için aynıdır ve

while(){ 
$gameDate = $row['event_date']; 
$time=$row['event_time']; 

     $calcDate = $gameDate.$time; 
     $calcDate = strtotime(str_replace('/', '-', $gameDate)); 
     $remaining = $calcDate - time(); 
     $days_remaining = floor($remaining/86400); 
     $hours_remaining = floor(($remaining % 86400)/3600); 
} 

OLAYLAR tablo

enter image description here doğru hesaplanmış almaz

Yine saat onu veritabanında hem olaylar için farklı zamanlar olmasına rağmen, her iki etkinlikler için 13 olarak nasıl görüntüleneceğini 1 görüntüde fark

burada ne yapıyorum yanlış ya da ben nasıl artırabileceğini herhangi bir fikir senaryo?

+0

Eğer jquery geri sayım js kullanıyorsunuz? – Butterfly

+0

@new_bee_magento no bu bir php betik kodunda gördüğünüz gibi –

+1

http://sandbox.onlinephpfunctions.com/code/5b6ffe97f3bbc23290266c2dbe2ef7afe1b4b1ec strtime '$ gameDate' geçiyordu, bunun yerine $ calcDate 'basking olmalısınız , aksi takdirde sadece ** tarih ** strtotime olacak ve ** datetime **. – briosheje

cevap

2

Bu çizgide bir hata var:

$calcDate = strtotime(str_replace('/', '-', $gameDate)); 

Eğer bir satır oluşturulan tam tarih + zaman dizesi içerir $calcDate tarafından $gameDate değiştirin önce:

$calcDate = strtotime(str_replace('/', '-', $calcDate)); 

Ya da sadece bu hale yol:

$data = array(
    array('event_date' => '2015-07-13', 'event_time' => '15:00'), 
    array('event_date' => '2015-07-11', 'event_time' => '20:00') 
); 

foreach ($data as $row) { 
    $calcDate = strtotime(str_replace('/', '-', $row['event_date'].$row['event_time'])); 
    $remaining = $calcDate - time(); 
    $days_remaining = floor($remaining/86400); 
    $hours_remaining = floor(($remaining % 86400)/3600); 
    echo $days_remaining." ".$hours_remaining."\n"; 
} 

Çalışma kodu: http://sandbox.onlinephpfunctions.com/code/128a284a176098ede0dfc7bc18cfc5f7081d2afa

Yani farklı değişkenleri karıştırmak kaçının. ;-)

+0

Andre seni çok teşekkürler, im olacak uygulamak ve sonucu –

+0

Andre Eğer senden yardım için ne kadar minnettar bilemezsin, ben cook kadar o inşaat büyük teşekkür, ben sadece cevap kabul fazlasını yapmak isterdim bildirin ! –

İlgili konular

 İlgili konular