php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.05.2005, 12:33  
Gast
 
Beiträge: n/a
Standard RSS News aus einzelnen Kategorien

hab auf meiner homepage eine rss.php datei welche einen RSS Newsfeed erstelt (news werden aus dem newsscript auf meiner seite gehollt). der code der datei ist folgender:

PHP-Code:
<? 
/* 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>'

?>
das script hollt sich die news aus dem dem newsscript meiner seite ... 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

Die Kategorie Tabelle in der Datenbank ist so aufgebaut:



kann mir vielleicht jemand sagen wie ich das realisieren kann ? ich hab so gut wie garkeine ahnung von php

wenn mehr infos benötigt werden, einfach schreiben
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.05.2005, 13:20  
Gast
 
Beiträge: n/a
Standard

hmm du solltest den sourcecode der seite auslesen um auf die news zu kommen.... kleiner tipp:

PHP-Code:
<?php
function wwwcopy($quelle)
{
   
$fp = @fopen($quelle,"rb");
   while(!
feof($fp))
   {
       
$cont.= fread($fp,1024);
   }
   
fclose($fp);
   return 
$cont;
}

bsp:
$news wwwcopy("http://www.meineurl.de/rss.php?cat=1");
?>
nun befindet sich der quellcode in der variablen $news.

jetzt schau dir nochmal die regex-funktionen an in php und du müsstest im stande sein die einträge vom quellcode zu filtern. diese kannst du dann weiterverarbeiten wie du es auch möchtest...
 
Alt 08.05.2005, 13:54  
Gast
 
Beiträge: n/a
Standard

geht es nicht normalerweise auch wenn ich den php code einsetze ?

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

PHP-Code:
<?
     
/* 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 cotegory_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>'
;
     
?> 

?>
nur warum kommt dann diese fehlermeldung:


Zitat:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/www/web265/html/rss.php on line 11
 
Alt 08.05.2005, 14:00  
Gast
 
Beiträge: n/a
Standard

zum parse-error:
Zitat:
"SELECT * FROM corenews2_news ORDER BY id DESC LIMIT 0, $_GET['id'] WHERE cotegory_id=".$_GET['catid'];
Innerhalb von Zeichenkettenliteralen in doppelten Anführungszeichen keine Anführungszeichen für den Feldindex verwenden.

PHP-Code:
<?php
$lalala 
$_GET['id'];
// aber
$lalala "abc $_GET[id] 123";
?>
 
Alt 08.05.2005, 14:03  
Gast
 
Beiträge: n/a
Standard

hmm ... ich bin davon ausgegangen das du eine news ohne sql-zugriff auslesen willst...
dann vergiss meinen vorschag
 
Alt 08.05.2005, 14:10  
Gast
 
Beiträge: n/a
Standard

@ 5h4d3
trotzdem vielen vielen dank

@ VolkerK
dergleiche fehler ist jedoch immernoch
 
Alt 08.05.2005, 14:56  
Gast
 
Beiträge: n/a
Standard

fehler gelost, allerdings hat das script irgendwie nicht viel gebracht. Wenn ich z.b. rss.php?cat=5 eingebe erscheinen nicht nur die news aus der kategorie 5 sondern weiterhin alle.

aktueller php code:

PHP-Code:
 <?
     
/* 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>'
;
     
?>
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
CSS - Bild im div container überlappt andere container Buschdieb HTML, Usability und Barrierefreiheit 13 19.07.2007 23:17
Newssystem, News switchen obi PHP Tipps 2006 1 18.09.2006 00:36
News Slideshow fager PHP Tipps 2006 6 29.03.2006 22:30
[Erledigt] News editieren bzw. updaten Datenbanken 2 05.02.2006 01:49
[JOINS] Auch Kategorien ohne Produkte auslesen Datenbanken 2 24.08.2005 10:33
PHP News in normale HTML Seite? PHP Tipps 2005-2 5 06.07.2005 19:45
Denkanstoss für News PHP Tipps 2005-2 12 01.07.2005 17:52
[Erledigt] Menülinks in Kategorien per Left join Datenbanken 20 14.03.2005 12:43
Eine News weiter PHP Tipps 2005 4 19.02.2005 17:06
[Erledigt] Kategorien in Baumstruktur PHP Tipps 2005 11 08.02.2005 22:24
PHP News Script PHP Tipps 2005 7 11.01.2005 14:44
Kategorien ausgeben PHP Tipps 2004 6 30.10.2004 17:40
News Rubrik auf mehrere Seiten splitten PHP Tipps 2004 7 07.10.2004 12:29
Theorie Frage, News <-> Kommentare Paulo PHP Tipps 2004 5 03.09.2004 16:34
kleine CMS für news Off-Topic Diskussionen 2 21.06.2004 22:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
rss news code

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:22 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.