Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Automatyczny kanał RSS - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: Automatyczny kanał RSS (/thread-automatyczny-kanal-rss)

Strony: 1 2


RE: Automatyczny kanał RSS - Gekku - 09-12-2011

W programie z którego korzystam piszę że to nie RSS korzysta z tego kodu w poście #4 przy kodzie z #5 był jakiś błąd.


RE: Automatyczny kanał RSS - Raalsky - 10-12-2011

Dobrze to sformułowałeś. "Jakiś błąd". Podaj tutaj cytat lub innymi słowy "Daj sobie pomóc".


RE: Automatyczny kanał RSS - Gekku - 23-12-2011

Witam ponownie nie miałem czasu ale powracam do tematu.Skorzystałem ponownie z kodu kolegi
Kod PHP:
<?php
    
include('db.php');
?>
<?php
 
echo '<?xml version="1.0" encoding="UTF-8"?>';
    echo 
'<rss version="2.0">';
    echo 
'<channel>';
    echo 
'<title></title>';
    echo 
'<link></link>';
    echo 
'<description></description>';
    foreach ($ as $)
    {
        
$item '';
        
$item .= '<item>';
        
$item .= '<title>'.$wpis["tytul"].'</title>';
        
$item .= '<link>xxxxxxxx</link>';
        
$item .= '<pubDate>'.$wpis['data_dodania'].'</pubDate>';
        
$item .= '<description>'.wpis($wpis["tresc"]).'</description>';
        
$item .= '</item>';
        echo 
$item;
    }
    echo 
'</channel>';    
    echo 
'</rss>';
    
?>

Jeżeli dobrze się orientuję funkcja foreach ($ as $) wczytuje plik? Ja chciałbym aby dane były wczytywane z bazy danych mógłby ktoś dorobić to do tego kodu?

Kod PHP:
<?php
    
include('db.php');
    
?>
    <?php
 
echo '<?xml version="1.0" encoding="UTF-8"?>';
    echo 
'<rss version="2.0">';
    echo 
'<channel>';
    echo 
'<title></title>';
    echo 
'<link></link>';
    echo 
'<description></description>';
            
$zapytanie     'SELECT * FROM test ORDER BY data';
            
$wynik         mysql_query($zapytanie) or die(mysql_error());
            while(
$row mysql_fetch_array($wynik))
    {
        
$item '';
        
$item .= '<item>';
        
$item .= '<title>'.$row["tytul"].'</title>';
        
$item .= '<link>'.$row["obrazek"].'</link>';
        
$item .= '<pubDate>'.$row['data'].'</pubDate>';
        
$item .= '<description>'.$row["autor"].'</description>';
        
$item .= '</item>';
        echo 
$item;
    }
    echo 
'</channel>';    
    echo 
'</rss>';
    
?>
Pobiera z bazy ale nie jako rss.


RE: Automatyczny kanał RSS - Gekku - 25-12-2011

@odświeżam


RE: Automatyczny kanał RSS - Raalsky - 25-12-2011

Dane z Bazy Danych SQL są pobierane z typem Resource, który jest tablicą asocjacyjną (taka, gdzie klucz/indeks jest tekstem). Tego typu dane muszą być "przeleciane" pętlą foreach. Chcąc wyświetlić wszystkie dane z tablicy asocjacyjnej nie można użyć zwykłej pętli for i inkrementacji, ale trzeba użyć specjalnej pętli foreach, która zwraca nam kolejne wartości. Np. foreach( $tablica as $klucz => $wartosc ). Dzięki czemu potem możemy użyć np. $wartosc i pętla wyświetli w kolejnych krokach kolejne wartości z tablicy asocjacyjnej. Bazy danych nie zwracają nam po prostu czystych wartości, ale tablicę asocjacyjną, którą możemy "przeczytać" przy użyciu pętli foreach.

http://www.php.rk.edu.pl/w/p/tablice/ - o tablicach asocjacyjnych i pętli foreach.

Ogólnie pętla foreach nadaje się wszędzie tam, gdzie chcemy odczytać wszystkie wartości z tablicy, która nie ma indeksów.

Dodatkowo do czytania: http://pl.wikibooks.org/wiki/PHP/Instrukcja_foreach