Kalma
Erfahrenes Mitglied
Hey,
ich denke es ist die Klasse die in der WhileSchleife das Problem macht.
Ich habe eine Klasse für die NewsAusgabe geschrieben (endlich fang ich auch an^^) und gebe nun die News in einer Schleife aus.
Aber, wenn ich nun auf die Seite gehe, sieht das so aus:
Obwohl nur 1 Eintrag vorhanden ist, der auch nicht wirklich angezeigt wird.
Hier ist mein Quellcode für den Aufruf:
und hier die Klasse
Hoffe, ihr könnt mir helfen
David
ich denke es ist die Klasse die in der WhileSchleife das Problem macht.
Ich habe eine Klasse für die NewsAusgabe geschrieben (endlich fang ich auch an^^) und gebe nun die News in einer Schleife aus.
Aber, wenn ich nun auf die Seite gehe, sieht das so aus:
Geschrieben von am
[vergrößern]
Geschrieben von am
[vergrößern]
Geschrieben von am
[vergrößern]
Geschrieben von am
[vergrößern]
Geschrieben von am
[vergrößern]
Geschrieben von am
[vergrößern]
Geschrieben von am
[vergrößern]
Obwohl nur 1 Eintrag vorhanden ist, der auch nicht wirklich angezeigt wird.
Hier ist mein Quellcode für den Aufruf:
PHP:
<?php
/***************************************************************************
* news.php
*--------------------------------------------------------------------------
* begin : Sunday, Jun 22, 2007
* copyright : (C) 2007 David Floegel
* email : david.floegel@gmx.de
*
***************************************************************************/
error_reporting(E_ALL);
//----[Klassen / Funktionen / Dateien einbinden]---
# Smarty #
require_once 'Smarty/Smarty.class.php';
$tpl = new Smarty;
# Datenbank #
require_once 'functions/function.mysql.php';
require_once 'class/mysql.class.php';
$mysql = new mysql;
$mysql->set($host, $user, $passwort, $datenbank);
//----[Inhalt: News auslesen]----
# News Klasse #
require_once 'class/news.class.php';
$news = new news;
# Werte für Blätterfunktion #
$items_per_page = 4;
$link = 'news.php';
$item_count = mysql_num_rows(mysql_query('SELECT * FROM news'));
$page_count = ceil($item_count/$items_per_page);
$offset = (isset($_GET['page'])) ? intval($_GET['page']) * $items_per_page - $items_per_page: 0;
# Blätterfunktion einbinden
require_once 'functions/function.blaettern.php';
# Query #
$query = 'SELECT
*
FROM
news
ORDER BY
`news_id` DESC
LIMIT
'.$offset.', '.$items_per_page;
# Result und Select-Variable #
$result = mysql_query($query);
# Prüfen, ob Einträge vorhanden sind #
if (mysql_num_rows($result) == 0) {
echo '';
} else {
# Array erstellen #
$news_array = array();
while($select = mysql_fetch_assoc($result))
{
# Variablen auslesen und in Klasse übergeben #
$id = $select['news_id'];
$autor = $select['news_autor'];
$titel = $select['news_titel'];
$text = $select['news_text'];
$erstellt = $select['news_erstellt'];
$typ = $select['news_typ'];
$file = $select['news_file'];
$news->set($id, $autor, $titel, $text, $erstellt, $typ, $file);
# Werte in $news_array schreiben #
$news_array['autor'] = $news->autor();
$news_array['titel'] = $news->titel();
$news_array['text'] = $news->text();
$news_array['datum'] = $news->datum();
$news_array['file'] = $news->news_file();
$news_array['file_source'] = 'loads/news/'.$select['news_file'];
$news_array[] = $select;
}
$tpl->assign('news_array', $news_array);
}
//----[Datei aufrufen]---
$tpl->display('news.tpl');
?>
und hier die Klasse
PHP:
<?php
/***************************************************************************
* news.class.php
*--------------------------------------------------------------------------
* begin : Sunday, Jun 22, 2007
* copyright : (C) 2007 David Floegel
* email : david.floegel@gmx.de
*
***************************************************************************/
class news {
//----[Variablen definieren]----
var $news_id;
var $news_autor;
var $news_titel;
var $news_text;
var $news_erstellt;
var $news_typ;
var $news_file;
//----[Funktion für Setzen der Werte]----
function set($id, $autor, $titel, $text, $erstellt, $typ, $file)
{
$this->news_id = $id;
$this->news_autor = $autor;
$this->news_titel = $titel;
$this->news_text = $text;
$this->news_erstellt = $erstellt;
$this->news_typ = $typ;
$this->news_file = $file;
}
//----[Funktion für den Autor]----
function autor()
{
# Query #
$query = 'SELECT
*
FROM
user
WHERE
`user_id`="'.$this->news_autor.'"
LIMIT
1';
$result = mysql_query($query) or die(mysql_error());
$select = mysql_fetch_array($result);
$nickname = $select['user_nickname'];
$nickname = empty($nickname) ? 'Unbekannt' : $nickname;
return $nickname;
}
//----[Funktion für den Titel]----
function titel()
{
# Nur prüfen, ob vorhanden, sonst "Kein Titel" #
$titel = empty($this->news_titel) ? 'Kein Titel' : $this->news_titel;
return $titel;
}
//----[Funktion für den Text]----
function text()
{
# Datei einbinden #
require_once 'functions/function.bbcode.php';
# Textstellen ersetzen #
$text = bbcode($this->news_text);
return $text;
}
//----[Funktion für DatumFormat]----
function datum()
{
$datum = date('d.m.Y @ H:i', $this->news_erstellt);
return $datum;
}
//----[Funktion für das News Bild]----
function news_file()
{
# Variablen festlegen #
$n = "\n";
$pfad = 'loads/news/';
$src = $pfad . $this->news_file;
$alt = file_exists($pfad . $this->news_file) ? 'Bild zu '.$this->news_titel : 'Bild wurde nicht gefunden';
$title = 'Bild zu dem Eintrag: '.$this->news_titel;
$width = 150;
# Aut Typ prüfen (1 = Normal / 2 = Mit Bild) #
if($this->news_typ == 2) {
# Prüfen, ob Datei existiert #
if (file_exists($pfad . $this->news_file)) {
$news_file = '<img src="'.$src.'" alt="'.$alt.'" title="'.$title.'"
width="'.$width.'" border="0" />'.$n;
} else {
$news_file = '<img src="'.$src.'" alt="'.$alt.'" title="'.$title.'"
width="'.$width.'" border="0" />'.$n;
}
} else {
$news_file = ' ';
}
return $news_file;
}
}
?>
Hoffe, ihr könnt mir helfen
David