Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Automatyczny kanał RSS
#11
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.
Odpowiedz
#12
Dobrze to sformułowałeś. "Jakiś błąd". Podaj tutaj cytat lub innymi słowy "Daj sobie pomóc".
Odpowiedz
#13
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.
Odpowiedz
#14
@odświeżam
Odpowiedz
#15
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
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Automatyczny rozmiar obrazka lomek 5 3,243 09-06-2012, 05:12
Ostatni post: camelrafal
  automatyczny odnośnik milanista7 2 2,579 02-10-2009, 03:18
Ostatni post: milanista7
  Pytanie o kanał RSS Elmo Shadow 0 1,414 21-09-2009, 18:47
Ostatni post: Elmo Shadow

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl