Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] przedzial czasowy
kidler
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 9.09.2006

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jeszcze jedno = (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

A jak zrobić przedział czasowy? Żeby nie jeden dzień tylko kilka godzin?

Ten post edytował kidler 26.08.2008, 19:07:24
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Kod
if($obecna_data == $data)

nie = tylko ==... Podstawy programowania chłopcze...
Go to the top of the page
+Quote Post
kidler
post
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 9.09.2006

Ostrzeżenie: (0%)
-----


doobra już mam coś takiego (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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.
Go to the top of the page
+Quote Post
webdice
post
Post #5


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Proszę o poprawienie tytułu tematu na taki który opisuje problem.
Go to the top of the page
+Quote Post
kidler
post
Post #6





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 9.09.2006

Ostrzeżenie: (0%)
-----


poprawiłem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
zrobiłem coś takiego ale nie działa (IMG:http://forum.php.pl/style_emoticons/default/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?

Ten post edytował kidler 26.08.2008, 19:21:29
Go to the top of the page
+Quote Post
webdice
post
Post #7


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




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.
Go to the top of the page
+Quote Post
kidler
post
Post #8





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 9.09.2006

Ostrzeżenie: (0%)
-----


coś takiego np. (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Kod
$data0 = "date("w=2") 20:25";


Ten post edytował kidler 26.08.2008, 19:36:36
Go to the top of the page
+Quote Post
webdice
post
Post #9


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




  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.
Go to the top of the page
+Quote Post
kidler
post
Post #10





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 9.09.2006

Ostrzeżenie: (0%)
-----


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  ";
}
}
?>
Go to the top of the page
+Quote Post
webdice
post
Post #11


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Napisz od początku co chcesz zrobić bo nie bardzo Cie rozumiem.
Go to the top of the page
+Quote Post
kidler
post
Post #12





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 9.09.2006

Ostrzeżenie: (0%)
-----


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"
Go to the top of the page
+Quote Post
webdice
post
Post #13


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




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. ?>
Go to the top of the page
+Quote Post
kidler
post
Post #14





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 9.09.2006

Ostrzeżenie: (0%)
-----


dokładnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Dzięki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 22:40