Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] przedzial czasowy
Forum PHP.pl > Forum > Przedszkole
kidler
Witam. Co w tym skrypcie jest źle? Bo nawet jeśli dzisiaj jest inna data to i tak wyświetla Fizyka..

  1. <?php
  2. $data = "2008-08-28";
  3. $obecna_data = date("Y-m-d"); 
  4. if($obecna_data = $data)
  5. {
  6. echo "Fizyka ";
  7. }
  8.  
  9.  
  10. ?>


Już wiem smile.gif jeszcze jedno = smile.gif

A jak zrobić przedział czasowy? Żeby nie jeden dzień tylko kilka godzin?
wookieb
Kod
if($obecna_data == $data)

nie = tylko ==... Podstawy programowania chłopcze...
kidler
doobra już mam coś takiego smile.gif
Cytat
<?php
$data = "2008-08-28 19:00";
$data1 = "2008-08-26 18:25";
$obecna_data = date("Y-m-d H:i");
if($obecna_data == $data)
{
echo "Fizyka ";
}
if($obecna_data == $data1)
{
echo "Hemia ";
}


?>



Ale jak ten przedział zrobić że np. od 22.03.2009 16:30 - 22.09.2009 16:35 questionmark.gif
wookieb
Zamienić na znacznikczasowy za pomoca funkcji mktime.
Aktualny czas pobierzesz za pomoca time();
time zwraca ci aktualna liczbe sekund od 1970 roku a mktime liczbe sekund od roku 1970 do podanej daty.
webdice
Proszę o poprawienie tytułu tematu na taki który opisuje problem.
kidler
poprawiłem winksmiley.jpg
zrobiłem coś takiego ale nie działa sad.gif
Kod
<?php
$data = "2008-08-28 19:00";
$data1 = "2008-08-26 20:20 ";
$data1a = "2008-08-26 20:55";


$obecna_data = date("Y-m-d H:i");
if($obecna_data == $data)
{
echo "Fizyka  ";
}
if($obecna_data < $data1a)
elseif($obecna_data > $data1)
{
echo "Hemia  ";
}

?>


ale to już działa:
Kod
<?php
$data = "2008-08-28 19:00";
$data1 = "2008-08-26 20:10 ";
$data1a = "2008-08-26 20:55";


$obecna_data = date("Y-m-d H:i");
if($obecna_data == $data)
{
echo "Fizyka  ";
}
if($obecna_data <= $data1a  && $obecna_data >= $data1)

{
echo "Hemia  ";
}

?>


a jak zrobić żeby np. nie był rbany pod uwagę 2008-08-26 tylko każdy wtorek? a więc jak zrobić żeby w każdy wtorek między 20:10 a 20:55 wyświetlała się Hemia?
webdice
date" title="Zobacz w manualu PHP" target="_manual

Parametry:

l - Pełen angielski opis dnia tygodnia,
N - Liczbowa forma dnia tygodnia, zgodna z normą ISO-8601 (dodana w PHP 5.1.0),
S - Angielski przyrostek porządkowy dla dnia miesiąca, 2 litery,
w - Liczbowa forma dnia tygodnia.

Proponuje skorzystać z parametru w.
kidler
coś takiego np. questionmark.gif
Kod
$data0 = "date("w=2") 20:25";
webdice
  1. <?php
  2. if (date ('w') == '2')
  3. {
  4. // 
  5. }
  6. ?>


Pamiętaj że liczba zwracana przez funkcje date jest ciągiem znaków, a nie liczbą. Stąd dwójka w apostrofach.
kidler
coś nie bardzo:
Kod
<?php
$data0 = "20:25";
$data0a = " 20:45";
$data1 = "20:10 ";
$data1a = "20:24";


$obecna_data = date(" H:i");



if (date ('w') == '2')
{
elseif($obecna_data <= $data1a  && $obecna_data >= $data1)

{
echo "Hemia  ";
}
elseif($obecna_data <= $data0a  && $obecna_data >= $data0)

{
echo "Fizyka  ";
}
}
?>
webdice
Napisz od początku co chcesz zrobić bo nie bardzo Cie rozumiem.
kidler
Powiem konkretnie.. chciałem na blogu klasowym umieścić informację jaki jest aktualnie przedmiot... "Aktualnie trwa Fizyka" "Hurra przerwa" itp. A więc chcę poustawiać że np. we wtorki od godziny 20:00 do 20:45 wyświetla się "Aktualnie trwa Fizyka" a od 20:46 do 20:59 "Hurra przerwa"
webdice
O to chodzi?

  1. <?php
  2.  
  3. $fizyka_poczatek = "2008-08-26 20:00";
  4. $fizyka_koniec  = "2008-08-26 21:30";
  5.  
  6. $aktualna_data = date ('Y-m-d H:i');
  7. $dzien_tygodnia = date ('w');
  8.  
  9. if ($dzien_tygodnia == '2')
  10. {
  11. if (($fizyka_poczatek <= $aktualna_data) && ($fizyka_koniec >= $aktualna_data))
  12. {
  13. print 'FIZYKA';
  14. }
  15. }
  16.  
  17. ?>
kidler
dokładnie smile.gif Dzięki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.