Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dany tekst o danej godzine każdego dnia tygodnia
WyPaLaCz
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 4.02.2004
Skąd: Łódź

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


Witam

Potrzebuję skryptu i prosilbym Was drodzy użytkownicy o pomoc. Skrypt ma wyglądac mniej wiecej tak:

W poniedzialek w godzinach od 0.00 do 18.00 wyswietlany byłby tekst1, następnie od 18.01 do 19.59 tekst2 itd, następnie we wtorek znowu od 0.00 do 18.00 chcialbym aby się wyswietlał, ale tym razem już zupełnie inny tekst3 a od 18.00 do 19.59 tekst4 itd. analogicznie, aż do niedzieli...

Byłbym bardzo wdzieczny za pomoc, w dostarczeniu mi takiego skryptu. Z góry dziękuje, Adrian.
?>[/php]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




można też tak. Z wykorzystaniem OOP, i możliwością podawania minut.
Podstaowowa różnica to to, ze podaje się nie godziny, a przedziały czasowe
[php:1:79442da677]<?php

/**
*@data 2004-02-06
*@autor DeyV
*/
class ogloszenia
{
var $arrLista = array();


/**
* wyświetla pasujące wpisy
* @param booean Czy przerywać po 1 wpisie
*/
function drukuj( $booOnlyOne=FALSE )
{
$intNow = $this->prepareData( $this->getData() );
$arrWynik = array();
if( empty( $this->arrLista ) )
{
return;
}
foreach( $this->arrLista as $arrWiersz )
{
if( $arrWiersz[0] <= $intNow and $arrWiersz[1] >= $intNow )
{
$arrWynik[] = $arrWiersz[2];
if( $booOnlyOne )
{
break;
}
}
}

if( !empty( $arrWynik ) )
{
echo 'Dziś: '. implode( ', ', $arrWynik );
}
}



/**
* @param string data w formacie 1.16.35 (dzień tygodnia, godzina, minuty )
* @param string data w formacie 1.16.35 (dzień tygodnia, godzina, minuty )
*/
function addWpis( $data1, $data2, $text )
{
$this->arrLista[] = array(
$this->prepareData( $data1 ),
$this->prepareData( $data2 ),
$text
);

}

/**
* aktualna data w postaci 1.16.35 (dzień tygodnia, godzina, minuty )
* @return string
*/
function getData( )
{
return date( 'w.G.i' );
}


/**
* zwraca date w minutach od początku tygodnia, czyli poniedziałku, godzina 00:00
* @param string data w formacie 1.16.35 (dzień tygodnia, godzina, minuty )
* @return int
*/
function prepareData( $strData )
{
$arrTmp = explode( '.', $strData );
if( $arrTmp[0]==0)
{
$arrTmp[0] = 7;
}

$intData = $arrTmp[2] + 60*$arrTmp[1] + 60*24*($arrTmp[0]) ;
return $intData;
}
}


$objOgloszenia = new ogloszenia;

$objOgloszenia -> addWpis( '5.14.48', '5.15.40', 'piątek, pomiedzy 14.48 a 15.40 ' );
$objOgloszenia -> addWpis( '5.14.48', '5.15.03', 'piątek, pomiedzy 14.48 a 15.03 ' );

$objOgloszenia -> addWpis( '5.14.40', '5.14.45', 'piątek, pomiedzy 14.40 a 14.45 ' );

$objOgloszenia ->drukuj();
?>[/php:1:79442da677]
Go to the top of the page
+Quote Post

Posty w temacie


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: 10.10.2025 - 04:50