Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php wywoływane samoczynnie
Forum PHP.pl > Forum > PHP
gdrzewo
Ja mam takie pytanie.

Czy da sie napisać taki skrypcik w php aby on sam sie wykonywał.
Chodzi mi o to aby co okreslony czas skrypt sam pobierał informacje i umieszczał je w bazie.
I jeszcze jedno: dlaczego w momencie gdy nie ma fizycznie utworzonej tabeli skrypt nie potrafi sam jej stworzyc??
Jak widac ponizej jest to skrypcik pobierający dane z kanałów RSS i umieszcza je w bazie.

Cytat
$kanal = iconv("UTF-8","ISO-8859-2",$_GET["kanal_name"]);
//dodanie do bazy
$sql_conn = mysql_connect('localhost','test','test')
or die('Niem mogłem połączyć się z bazą');
mysql_create_db('rss');
mysql_select_db('rss');

//wybranie do jakiej tabeli
if(eregi('wiadomosci', $kanal)) $tabela='wiadomosci';
else if(eregi('sport', $kanal)) $tabela='sport';
else if(eregi('nauka', $kanal)) $tabela='nauka';

//utworzenie tabeli jesli nie istnieje
$zapytanie = "SELECT * FROM `$tabela`";
$idzapytania = mysql_query($zapytanie);
if(!($idzapytania)) {
$zapytanie = "CREATE TABLE $tabela(`klucz` int(15) NOT NULL auto_increment,`tytul` varchar(100) NOT NULL default '', `opis` varchar(200) NOT NULL default '', `obrazek` varchar(100) NOT NULL default '', `link` varchar(100) NOT NULL default '', `data` varchar(20) NOT NULL default '', PRIMARY KEY (`klucz`)) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=1";
$idzapytania = mysql_query($zapytanie);
$zapytanie = "INSERT INTO `$tabela` (`klucz`, `tytul`, `opis`, `obrazek` , `link`, `data`) VALUES ('', 'test','test','test','test','test')";
$idzapytania = mysql_query($zapytanie);
}
//sprawdzenie czy juz jest w bazie
$i_max=$rs['items_count']; //ile
$zapytanie = "SELECT `link` FROM `$tabela`";
$idzapytania = mysql_query($zapytanie);

while ($wiersz = mysql_fetch_row($idzapytania)) {
for($i=0;$i<$i_max;$i++) {
if($wiersz[0] == $rs['items'][$i]['link']) {
$spr=1;
break;
}
else $spr=0;
}
if($spr==1) break;
}
//wstawienie do bazy
for($j=0;$j<$i;$j++){
$tyt = $rs['items'][$j]['title'];
$op = $rs['items'][$j]['description'];
$ob = $rs['items'][$j]['enclosure'];
$li = $rs['items'][$j]['link'];
$dat = $rs['items'][$j]['pubDate'];

$zapytanie = "INSERT INTO `$tabela` (`klucz`, `tytul`, `opis`, `obrazek` , `link`, `data`) VALUES ('', '$tyt', '$op', '$ob', '$li', '$dat')";
$idzapytania = mysql_query($zapytanie);
echo $zapytanie;
}
mysql_close();
NuLL
Szukaj - > CRON

Co do tabel - tak zawsze bylo - niestety serwer baz danych nie jest w stanie zgadnac dokladnej specyfikacji pola tylko z danych wrzucanych przez INSERTa.
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.