News aus einzelne Kategorie

PC Freak

Ensign
Registriert
Nov. 2003
Beiträge
233
hab auf meiner homepage eine rss.php datei welche einen RSS Newsfeed erstelt (news werden aus dem newsscript welches sich auf meiner seite befindet gehollt). der code der datei ist folgender:

PHP:
<?
/* MySQL-Teil */
$mysql['host'] = 'nicht angegeben'; // MySQL Host
$mysql['user'] = 'nicht angegeben'; // MySQL User
$mysql['passwort'] = 'nicht angegeben'; // MySQL Passwort
$mysql['tabelle'] = 'nicht angegeben'; // Tabelle aus der der Inhalt kommt
$mysql['db'] = 'nicht angegeben'; // Datenbank Name

Header("Content-Type: text/xml");
if($_GET['id']>10 || empty($_GET['id'])) $_GET['id']=5;

echo '<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="0.91">

<channel>

<title>Hardware Newsfeed</title>
<link>http://www.meineurl.de</link>
<description>Die '.$_GET['id'].' aktuellsten News aus der Hardware-Branche</description>
<language>de-de</language>
<copyright>'.date("Y").' http://www.meineurl.de</copyright>
<image>
<url>http://www.meineurl.de</url> 
<title>Hardware Newsfeed</title>
<link>http://www.meineurl.de/</link>
</image>
';

@mysql_connect($mysql['host'], $mysql['user'], $mysql['passwort']) or die('Verbindung zum MySQL Server kann nicht aufgebaut werden');
@mysql_select_db($mysql['db']) or die('Datenbank kann nicht selektiert werden');

$laenge = 300;

$ergeb=mysql_query("SELECT * FROM corenews2_news ORDER BY id DESC LIMIT 0, $_GET[id]");
while($array=mysql_fetch_array($ergeb)) {
echo '<item>
<title>'.$array['news_title'].'</title>
<description>'.$news_text = substr($array['news_text'], 0, $laenge).'...</description>
<link>http://www.meineurl.de/index.php?news_id='.$array['id'].'</link>
</item>
';
}
echo '</channel>
</rss>';
?>

nun will ich aber, dass man rss news auch von nur einzelnen kategorien auslesen kann, so das die url zum rss feed dann bsp. so lautet: rss.php?cat=1

deshalb hab ich den code dazu gecodet

PHP:
 $query="SELECT * FROM corenews2_news ORDER BY id DESC LIMIT 0, ".$_GET['id']." WHERE category_id=".$_GET['catid'];

die rss.php datei sieht jz also so aus:

PHP:
<?
     /* MySQL-Teil */
     $mysql['host'] = 'nicht angegeben'; // MySQL Host
     $mysql['user'] = 'nicht angegeben'; // MySQL User
     $mysql['passwort'] = 'nicht angegeben'; // MySQL Passwort
     $mysql['tabelle'] = 'nicht angegeben'; // Tabelle aus der der Inhalt kommt
     $mysql['db'] = 'nicht angegeben'; // Datenbank Name
   
     Header("Content-Type: text/xml");

$query="SELECT * FROM corenews2_news ORDER BY id DESC LIMIT 0, ".$_GET['id']." WHERE category_id=".$_GET['catid'];

     if($_GET['id']>10 || empty($_GET['id'])) $_GET['id']=5;
   
     echo '<?xml version="1.0" encoding="ISO-8859-1" ?>
     <rss version="0.91">
   
     <channel>
   
     <title>Hardware Newsfeed</title>
     <link>http://www.meineurl.de</link>
     <description>Die '.$_GET['id'].' aktuellsten News aus der Hardware-Branche</description>
     <language>de-de</language>
     <copyright>'.date("Y").' http://www.meineurl.de</copyright>
     <image>
     <url>http://www.meineurl.de</url>
     <title>Hardware Newsfeed</title>
     <link>http://www.meineurl.de/</link>
     </image>
     ';
   
@mysql_connect($mysql['host'], $mysql['user'], $mysql['passwort']) or die('Verbindung zum MySQL Server kann nicht aufgebaut werden');
     @mysql_select_db($mysql['db']) or die('Datenbank kann nicht selektiert werden');
   
     $laenge = 300;
   
     $ergeb=mysql_query("SELECT * FROM corenews2_news ORDER BY id DESC LIMIT 0, $_GET[id]");
     while($array=mysql_fetch_array($ergeb)) {
     echo '<item>
     <title>'.$array['news_title'].'</title>
     <description>'.$news_text = substr($array['news_text'], 0, $laenge).'...</description>
     <link>http://www.meineurl.de/index.php?news_id='.$array['id'].'</link>
     </item>
     ';
     }
     echo '</channel>
     </rss>';
     ?>

hab leider ein problem: Wenn ich z.b. rss.php?cat=5 eingebe erscheinen nicht nur die news aus der kategorie 5 sondern weiterhin alle ^^

Die Kategorie Tabelle in der Datenbank ist so aufgebaut:

e59xKJ6N.gif


Ich weiss nicht weiter und bin noch php noob

kann mir vielleicht jemand helfen ... mehr weiss ich echt nicht
 
Zurück
Oben