Saver
(Saver)
27 Październik 2010 15:39
#1
Witam, dzisiejszy problem jest związany z takim zwanym przypomniaczem/informatorem czyli chodzi mi… już opisuje.
Chce zrobić w PHP informację o której jest program, mam narazie w stylu ręcznym czyli wszystko muszę wpisywać do programu php, tak jak w tym przypadku.
<?php
$godzina = date ("d:m:Y:H:i");
if ($godzina >= "28:10:2010:6:25" && $godzina < "28:10:2010:7:15")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "28:10:2010:15:10" && $godzina < "28:10:2010:16:10")
{
echo "Trwa audycja w DMAX!";
}
elseif ($godzina >= "28:10:2010:16:25" && $godzina < "28:10:2010:17:15")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "28:10:2010:20:15" && $godzina < "28:10:2010:21:15")
{
echo "Trwa audycja w DMAX!";
}
elseif ($godzina >= "29:10:2010:06:15" && $godzina < "29:10:2010:07:05")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "29:10:2010:15:10" && $godzina < "29:10:2010:16:10")
{
echo "Trwa audycja w DMAX!";
}
elseif ($godzina >= "29:10:2010:16:20" && $godzina < "29:10:2010:17:10")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "30:10:2010:05:25" && $godzina < "30:10:2010:06:10")
{
echo "Trwa audycja w RTL II!";
}
elseif ($godzina >= "30:10:2010:06:10" && $godzina < "30:10:2010:07:05")
{
echo "Trwa audycja w RTL II!";
}
elseif ($godzina >= "31:10:2010:16:10" && $godzina < "31:10:2010:17:10")
{
echo "Trwa audycja w DMAX!";
}
elseif ($godzina >= "01:11:2010:04:50" && $godzina < "01:11:2010:05:55")
{
echo "Trwa audycja w RTL II!";
}
elseif ($godzina >= "01:11:2010:05:25" && $godzina < "01:11:2010:06:15")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "01:11:2010:15:05" && $godzina < "01:11:2010:16:10")
{
echo "Trwa audycja w DMAX!";
}
elseif ($godzina >= "01:11:2010:16:15" && $godzina < "01:11:2010:17:05")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "01:11:2010:21:05" && $godzina < "01:11:2010:21:55")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "02:11:2010:03:35" && $godzina < "02:11:2010:04:20")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "02:11:2010:03:45" && $godzina < "02:11:2010:04:40")
{
echo "Trwa audycja w RTL II!";
}
elseif ($godzina >= "02:11:2010:06:00" && $godzina < "02:11:2010:06:50")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "02:11:2010:12:00" && $godzina < "02:11:2010:12:50")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "02:11:2010:15:05" && $godzina < "02:11:2010:16:05")
{
echo "Trwa audycja w DMAX!";
}
elseif ($godzina >= "02:11:2010:16:10" && $godzina < "02:11:2010:17:05")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "03:11:2010:04:00" && $godzina < "03:11:2010:04:45")
{
echo "Trwa audycja w RTL II!";
}
elseif ($godzina >= "03:11:2010:06:15" && $godzina < "03:11:2010:07:05")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "03:11:2010:15:00" && $godzina < "03:11:2010:16:05")
{
echo "Trwa audycja w DMAX!";
}
elseif ($godzina >= "03:11:2010:16:15" && $godzina < "03:11:2010:17:05")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "04:11:2010:05:55" && $godzina < "04:11:2010:06:45")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "04:11:2010:15:00" && $godzina < "04:11:2010:16:05")
{
echo "Trwa audycja w DMAX!";
}
elseif ($godzina >= "04:11:2010:16:05" && $godzina < "04:11:2010:16:55")
{
echo "Trwa audycja w Discovery Channel!";
}
elseif ($godzina >= "04:11:2010:20:15" && $godzina < "04:11:2010:21:15")
{
echo "Trwa audycja w DMAX!";
}
else
{
echo "Brak audycji";
}
?>[/code]
ale chce zrobić aby skrypt php sam pobierał informacje z tabel HTML z tej strony http://www.fernsehserien.de/index.php?s … 00#details i wyświetlało tak samo jak w stylu ręcznym.
Bardzo proszę o pomoc.
Pozdrawiam
kostek135
(kostek135)
27 Październik 2010 17:33
#2
http://php.net/manual/en/function.file-get-contents.php
wyrażenia regularne (google -> wyrażenia regularne php), żeby obciąć pobrane dane, bo to “zassie” całą zawartość pod danym url.
Może to: DOMDocument::loadHTMLFile ?
Chcesz pobierać te dane ze strony na zewnętrznym serwerze przy każdej odsłonie Twojej strony?
Nie lepiej stworzyć dwa pliki - jeden zapisujący dane do bazy (w bazie np. pięć pól (id, kanał, tytuł i dwa timestampy (początek i koniec)) / ew. do pliku) i drugi wyświetlający te dane (czyli strona, którą masz, z tym że musi pobrać dane z bazy/pliku). Pierwszy możesz odpalać np. co tydzień (CRON albo zaincludować go do drugiego pod warunkiem, że różnica między aktualną datą i ostatnią aktualizacją przekroczy pewną wartość)
Saver
(Saver)
27 Październik 2010 21:09
#4
cayman3_11:
Może to: DOMDocument::loadHTMLFile? Chcesz pobierać te dane ze strony na zewnętrznym serwerze przy każdej odsłonie Twojej strony? Nie lepiej stworzyć dwa pliki - jeden zapisujący dane do bazy (w bazie np. pięć pól (id, kanał, tytuł i dwa timestampy (początek i koniec)) / ew. do pliku) i drugi wyświetlający te dane (czyli strona, którą masz, z tym że musi pobrać dane z bazy/pliku). Pierwszy możesz odpalać np. co tydzień (CRON albo zaincludować go do drugiego pod warunkiem, że różnica między aktualną datą i ostatnią aktualizacją przekroczy pewną wartość)
Chodzi Ci żeby jeden plik łączył się z stroną z danymi i zapisywał zebrane dane do bazy danych MySQL?
Dobry pomysł! Tylko jak to zrobić?
Albo pobrać stronę, i ją traktować jak bazę danych. Bo nie chce mi się wszystkich danych przepisywać do mojego skryptu PHP
Saver
(Saver)
27 Październik 2010 21:09
#5
cayman3_11:
Może to: DOMDocument::loadHTMLFile? Chcesz pobierać te dane ze strony na zewnętrznym serwerze przy każdej odsłonie Twojej strony? Nie lepiej stworzyć dwa pliki - jeden zapisujący dane do bazy (w bazie np. pięć pól (id, kanał, tytuł i dwa timestampy (początek i koniec)) / ew. do pliku) i drugi wyświetlający te dane (czyli strona, którą masz, z tym że musi pobrać dane z bazy/pliku). Pierwszy możesz odpalać np. co tydzień (CRON albo zaincludować go do drugiego pod warunkiem, że różnica między aktualną datą i ostatnią aktualizacją przekroczy pewną wartość)
Chodzi Ci żeby jeden plik łączył się z stroną z danymi i zapisywał zebrane dane do bazy danych MySQL?
Dobry pomysł! Tylko jak to zrobić?
Albo pobrać stronę, i ją traktować jak bazę danych. Bo nie chce mi się wszystkich danych przepisywać do mojego skryptu PHP
Dokładnie to mam na myśli. Dane, które chcesz pobrać raczej nie mają tendencji do częstych zmian i chyba aktualizacja raz na tydzień/dwa wystarczy. Jak? Jeśli już wyciągniesz je do właściwych zmiennych - tablic (co i tak musiałbyś zrobić np. RegExp’ami albo poprzez DOM) to zapisanie tego do bazy nie powinno być problemem.
I tak musisz powyciągać konkretne dane, więc lepiej zrobić to raz (i uporządkowane zapisać w bazie) niż wykonywać przy każdej wizycie. Proponuję unikać bezsensownego powtarzania niektórych czynności (ze względu na wydajność i czas wczytywania takiej strony), dlatego parsowanie za każdym razem tego samego pliku czy pobieranie strony z innego serwera raczej nie jest dobrym pomysłem.
Tego chcesz przecież uniknąć… i pośrednictwo bazy nie ma nic do tego.
Saver
(Saver)
28 Październik 2010 06:04
#7
cayman3_11:
Dokładnie to mam na myśli. Dane, które chcesz pobrać raczej nie mają tendencji do częstych zmian i chyba aktualizacja raz na tydzień/dwa wystarczy. Jak? Jeśli już wyciągniesz je do właściwych zmiennych - tablic (co i tak musiałbyś zrobić np. RegExp’ami albo poprzez DOM) to zapisanie tego do bazy nie powinno być problemem. I tak musisz powyciągać konkretne dane, więc lepiej zrobić to raz (i uporządkowane zapisać w bazie) niż wykonywać przy każdej wizycie. Proponuję unikać bezsensownego powtarzania niektórych czynności (ze względu na wydajność i czas wczytywania takiej strony), dlatego parsowanie za każdym razem tego samego pliku czy pobieranie strony z innego serwera raczej nie jest dobrym pomysłem. Tego chcesz przecież uniknąć… i pośrednictwo bazy nie ma nic do tego.
A mógłbyś mi pomóc w napisaniu tego programu w PHP, sam sobie nie poradzę, stworzyłem już strukturę bazy, dobrze jest?
CREATE TABLE IF NOT EXISTS mythbusters
( DataStart
text NOT NULL, MiesiacStart
text NOT NULL, RokStart
text NOT NULL, GodzinaStart
text NOT NULL, MinutaStart
text NOT NULL, Program
text NOT NULL, DataStop
text NOT NULL, MiesiacStop
text NOT NULL, RokStop
text NOT NULL, GodzinaStop
text NOT NULL, MinutaStop
text NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Saver:
A mógłbyś mi pomóc w napisaniu tego programu w PHP, sam sobie nie poradzę, stworzyłem już strukturę bazy, dobrze jest?
Możesz zrobić jak chcesz. Osobiście użyłbym czegoś zbliżonego do tego:
CREATE TABLE `mythbusters` (
`id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`program` VARCHAR( 255 ) NOT NULL ,
`start` DATETIME NOT NULL ,
`stop` DATETIME NOT NULL
) ENGINE = MYISAM ;
Pomóc oczywiście mogę, ale wszystkiego za Ciebie nie zrobię. Trudnością tutaj będzie wyciągnięcie danych i uporządkowanie ich w tablicach. Masz podane już dwa sposoby. Jeżeli nie miałeś do czynienia z DOM np. w skryptach JS to raczej postaw na wyrażenia regularne (w sieci jest mnóstwo poradników na ten temat, tu masz opisane funkcje PHP)
Saver
(Saver)
28 Październik 2010 13:55
#9
cayman3_11:
Możesz zrobić jak chcesz. Osobiście użyłbym czegoś zbliżonego do tego:CREATE TABLE mythbusters
( id
INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , program
VARCHAR( 255 ) NOT NULL , start
DATETIME NOT NULL , stop
DATETIME NOT NULL ) ENGINE = MYISAM ; Pomóc oczywiście mogę, ale wszystkiego za Ciebie nie zrobię. Trudnością tutaj będzie wyciągnięcie danych i uporządkowanie ich w tablicach. Masz podane już dwa sposoby. Jeżeli nie miałeś do czynienia z DOM np. w skryptach JS to raczej postaw na wyrażenia regularne (w sieci jest mnóstwo poradników na ten temat, tu masz opisane funkcje PHP)
Dziękuje za nawą strukturę bazy
A mógłbyś mi pomóc napisać skrypt który pobiera i zapisuje dane do bazy danych MySQL, a wyświetlanie z bazy już sam bym zrobił
cayman3_11
(Damgora)
29 Październik 2010 17:09
#10
Potraktuj to jako schemat - możliwe, że zawiera jakieś błędy (szczególnie funkcje obsługujące bazę danych bo nie mogłem ich testować).
//pobierasz kod strony$page = file_get_contents('http://www.fernsehserien.de/index.php?serie=9840sender=0seite=6start=4000#details');
tomasz_w1
(Tomasz W1)
7 Listopad 2010 00:23
#12
Najlepiej pochwal się gotowym kodem