wow, zupełnie nie rozumiem Twojej podpowiedzi...tak n amarginesie, to próbuję swoich sił, jutro zapodam co wymyśliłem.
Zrobiłem to tak:
1. Utworzyłem moj_rss.xml o zawartości:
<?xml version="1.0" encoding="utf-8"?>
<trovit>
<ad>
<id><![CDATA[]]></id>
<url><![CDATA[]]></url>
<title><![CDATA[]]></title>
<type><![CDATA[]]></type>
<content><![CDATA[]]></content>
<date><![CDATA[]]></date>
</ad>
</trovit>
2. Teraz moj_rss.php, zawartość to:
<?php
function lacz_bd()
{
$db = new mysqli('localhost', 'admin', 'pass', 'baza');
if (! $db)
return false;
$db->autocommit(TRUE);
return $db;
}
// tutaj podajemy dane co do xml
$kanalRSS= '<?xml version="1.0" encoding="utf-8"?>';
$kanalRSS .= '<trovit>';
$kanalRSS .= '<ad>';
// połaczenie z bazą
$db = lacz_bd();
//zapytanie określające jakie dane ma mieć kanał RSS
// pobierzmy teraz ogłoszneia z tabeli annoucements, niech będzie ostatnie 5
$zapytanie = "SELECT * FROM annoucements ORDER BY data DESC LIMIT 5";
$wynik = $db->query($zapytanie);
$ile_znalezionych = $wynik->num_rows;
for ($i=0; $i <$ile_znalezionych; $i++)
{
$wiersz = $wynik->fetch_assoc();
$wpis_id = $wiersz['annoucement_id'];
//Generujemy typową konstrukcję XML z danymi z bazy danych
$kanalRSS .= '<item>';
$kanalRSS .= '<id><![CDATA['.$wiersz['annoucement_id'].']]></id>';
$kanalRSS .= '<url><![CDATA[http://domena.pl/ogloszenia/'.$wiersz['annoucement_id'].'/'.$wiersz['annoucement_title'].']]></url>';
$kanalRSS .= '<title><![CDATA['.$wiersz['annoucement_title'].']]></title>';
$kanalRSS .= '<type><![CDATA['.$wiersz['annoucement_type'].']]></type>';
$kanalRSS .= '<content><![CDATA['.$wiersz['annoucement_content'].']]></content>';
$kanalRSS .= '<date><![CDATA['.$wiersz['annoucement_date_added'].']]></date>';
$kanalRSS .= '</item>';
}
$kanalRSS .= ' </ad>';
$kanalRSS .= '</trovit>';
//Zapisujemy wygenerowany kod XML do pliku moj_rss.xml
$fp = fopen('moj_rss.xml','w'); ?>
No i niestety kupa, tzn nie generuje mi pliku moj_rss.xml z zawartościami, które chciałem pobrać. Wywala mi tylko same znaczniki, co powaliłem, podpowie ktoś?
Chyba się poddam, bo próbowałem wszystkiego i pobrać dane mogę bez problemu, nie potrafię jedynie zapisać tego do pliku o rozszerzeniu .xml, który będzi eposiadał określoną strukturę znaczników dla multiwyszukiwarki.
Pobieram za pomocą:
<?php
$sql_host = 'localhost';
$sql_user = 'userek';
$sql_password = 'poprawne_haslo';
$sql_baza = 'poprawna_nazwa_bazy';
$zapytanie = mysql_query("SELECT * FROM nazwa_tabeli"); if ($zapytanie) {
$wynik["annoucement_title"];
$wynik["annoucement_city"];
}}}
?>
Dziękitemu bez problemu wyciąga z tabeli tytuł i miasto. Ale nie mogę już zapiać tego do określonego pliku.
Aj i muszę znowu poprosić Was o pomoc.
Plik ma nadane chmody 777 i nic.
Co jest nie tak? może ktoś zerknać na mój kod?
daję jak wyżej
moj_rss.xml
<?xml version="1.0" encoding="utf-8"?>
<trovit>
<ad>
<id><![CDATA[]]></id>
<url><![CDATA[]]></url>
<title><![CDATA[]]></title>
<type><![CDATA[]]></type>
<content><![CDATA[]]></content>
<date><![CDATA[]]></date>
</ad>
</trovit>
moj_rss.php
<?php
function lacz_bd()
{
$db = new mysqli('localhost', '_admin', 'pass', 'baza');
if (! $db)
return false;
$db->autocommit(TRUE);
return $db;
}
// tutaj podajemy dane co do xml
$kanalRSS= '<?xml version="1.0" encoding="utf-8"?>';
$kanalRSS .= '<trovit>';
$kanalRSS .= '<ad>';
// połaczenie z bazą
$db = lacz_bd();
//zapytanie określające jakie dane ma mieć kanał RSS
// pobierzmy teraz ogłoszneia z tabeli annoucements, niech będzie ostatnie 10
$zapytanie = "SELECT * FROM announcements ORDER BY data DESC LIMIT 10";
$wynik = $db->query($zapytanie);
$ile_znalezionych = $wynik->num_rows;
for ($i=0; $i <$ile_znalezionych; $i++)
{
$wiersz = $wynik->fetch_assoc();
$wpis_id = $wiersz['annoucement_id'];
//Generujemy typową konstrukcję XML z danymi z bazy danych
$kanalRSS .= '<item>';
$kanalRSS .= '<id><![CDATA['.$wiersz['annoucement_id'].']]></id>';
$kanalRSS .= '<url><![CDATA[http://oglaszajtu.pl/ogloszenia/'.$wiersz['annoucement_id'].'/'.$wiersz['annoucement_title'].']]></url>';
$kanalRSS .= '<title><![CDATA['.$wiersz['annoucement_title'].']]></title>';
$kanalRSS .= '<type><![CDATA['.$wiersz['annoucement_type'].']]></type>';
$kanalRSS .= '<content><![CDATA['.$wiersz['annoucement_content'].']]></content>';
$kanalRSS .= '<date><![CDATA['.$wiersz['annoucement_date_added'].']]></date>';
$kanalRSS .= '</item>';
}
$kanalRSS .= ' </ad>';
$kanalRSS .= '</trovit>';
//Zapisujemy wygenerowany kod XML do pliku moj_rss.xml
$fp = fopen('moj_rss.xml','w'); ?>
Wywołuję oglaszajtu.pl/moj_rss.xml i pusto, niczego nie importuje.