Einfache Blätterfunktion Hilfe

Matlox

Mitglied
Hallo Again,
hab das Problem mit den "keine news vorhanden" jetzt hinbekommen,
da kommt aber schon das nächste Problem, und zwar die Blätterfunktion,
ich habs jetzt mal auf meinen stil Probiert doch es funktioniert nicht so ganz,
er gibt den Link zwar aus und sobald mehr als 5 News bestehn kommt auch die zweite seite nur reiht er sie ned ein :)

Der Code:
PHP:
<?php 
	$sql = "SELECT * FROM news ORDER BY Id DESC";  
	if (!$res_id = mysql_query($sql)) 
	die ('Achtung, SQL-Befehl ist falsch!');
	if (mysql_num_rows($res_id))
	while ($row = mysql_fetch_array($res_id)) 
{
	$Id = $row['Id']; 
	$titel = $row['titel']; 
	$datum = $row['datum']; 
	$inhalt = $row['inhalt']; 

	eval ("dooutput(\"".gettemplate("tpl/news/index")."\");");  
}   
	else 
{ 
	eval ("dooutput(\"".gettemplate("tpl/news/nonews")."\");");  
} 
	$arr = array();

	$arr[] = $row; 
	$arr = array_chunk($arr,5);
	$seitenanzahl = count($arr); 
	$aktuelle_seite = (int)$_GET['seite'];
	print_r($arr[$aktuelle_seite]); 
	for($i=0;$i<$seitenanzahl;$i++) 
{ 
	echo "<a href=\"index.php?section=news&seite=$i\">".($i+1)."</a>";
}

?>

Was fehlt noch für die funktion oder kennt Ihr bessere?
mfg bin dankbar für jede Antwort und Hilfe
 
Hi,

als kleinen Tipp möchte ich dir geben, dass es eventuell besser wäre nur die Datensätze aus der Datenbank zu holen die auch benötigt werden. Hier ein kleines Beispiel:

PHP:
<?php
/**
 * Copyright by Manuel Freiholz / www.gainwar.de
 */

// MySQL connection. 
// (its just a very simple way, you should make error handling)
$dbconn = mysql_connect( "localhost" , "root" , "xxx" );
$dbseldb = mysql_select_db( "deine_datenbank" );

// How many entities are in database?
$dbquery = mysql_query( "SELECT COUNT(*) FROM logging_table" );
$dbresult = mysql_fetch_row( $dbquery );
$rows = $dbresult[0];

// How many entities do you want to show on a page?
$limit = 10;

// How many pages are there?
$pages = ceil( $rows / $limit );

// The current page.
$page = 1;
if( !empty( $_GET["page"] ) )
{
  $page = $_GET["page"];
}

// MySQL query, get the wished entities.
$dbquery = mysql_query( 
  "SELECT int_auto_key,txt_message FROM logging_table" .
  " ORDER BY int_auto_key ASC" .
  " LIMIT " . ( ($page-1)*$limit) . "," . $limit
);

// Print out MySQL query result.
while( $row = mysql_fetch_array( $dbquery ) )
{
  print( $row["int_auto_key"] . " -> " . $row["txt_message"] . "<br />" );
}

// Paging.
print( "<hr>" );
print( "Entities: " . $rows . "<br />" );
print( "Current page: " . $page . "<br />" );
print( "Pages: " . $pages . "<br />" );

// Next page link.
// Only show if available.
if( ($page+1) <= $pages )
{
  print( "<a href=\"paging.php?page=" . ($page+1) . "\">Next page</a>" );
}

print( "<br />" );

// Previous page link.
if( ($page-1) >= 1 )
{
  print( "<a href=\"paging.php?page=" . ($page-1) . "\">Previous page</a>" );
}
?>

Viel Erfolg
Gruß Manuel
 
Zurück