'Blättern' im Newssystem

enyougyoku

Grünschnabel
hallo zur späten Stunde ~

Ich fange meinen ersten Post gleich mal mit einer schönen Frage an:

Wie baue ich diese "Blättern" Funktion richtig bei mir ein?

Ich sitze nun schon knapp ~8 Stunden vor diesem Problem.

Ich habe viele Tutorials gelesen, jedes war etwas bzw. sehr anders von der vorgehensweise (bin total verwirrd)


Nun zu meinen eigentlichen Problem mit der Blättern Funktion:

Es sollen 5 ausgaben pro Seite erfolgen, die "neusten 5" natürlich, und die alten sollen auf eine anderen seite (oder doch eher die neuen?! -egal ich glaube ihr wisst was ich meine) gebracht werden.

Ich möchte mithilfe von Links (die ich später mal ersetzen werde) diese Seiten wechseln (einfaches Blättern halt)

hier der Link zum "Problem" Ex~Inferna

hier der PHP Code:

PHP:
<?php 

require_once("ayu.php"); 

ayumeta(); 

ayuhead(); 

ayumenu(); 

$con_server     = "localhost";       
$con_user        = "xxxxxxxx";           
$con_pass        = "xxxxxxxx";               
$con_db           = "xxxxxxxx";        



$mysql_conn = @mysql_connect($con_server, $con_user, $con_pass); 
if ($mysql_conn != TRUE) {
    echo "Fehlermeldung: <br /><br />".mysql_error();
    die;
}

mysql_select_db($con_db, $mysql_conn); 

$limit = 5; 

$q_select="SELECT * FROM news ORDER BY startdatum DESC, startzeit DESC " 
          ." LIMIT 5, 5".$limit; 
		  
$r_select=mysql_query($q_select); 
while ($strAusgabe=mysql_fetch_array($r_select, MYSQL_ASSOC))
{
    $strVorlage="";
    $arrVorlageZeilen=file("admin/inc/newsvorlage.php"); 

    foreach ($arrVorlageZeilen as $Vorlage) { $strVorlage.=$Vorlage; }

    $intDatePart=explode("-", $strAusgabe[startdatum]);
    $strDatum=$intDatePart[2].".".$intDatePart[1].".".$intDatePart[0]." ".$strAusgabe[startzeit];

    $strVorlage=ereg_replace("##DATUM##",$strDatum,$strVorlage);     
    $strVorlage=ereg_replace("##AUTOR##",$strAusgabe[autor],$strVorlage);     
    $strVorlage=ereg_replace("##TITEL##",$strAusgabe[titel],$strVorlage);     
    $strVorlage=ereg_replace("##NACHRICHT##",$strAusgabe[nachricht],$strVorlage);     
	
    echo $strVorlage; 
     
}


$sql = "select id from news"; 


if (!isset($_REQUEST['Total'])) 
{
  $result = mysql_query($sql);
  $Total = mysql_num_rows($result);
  unset($result);
}
else
{
  $Total = $_REQUEST['Total'];
}

if (!isset($_REQUEST['Seite']))
{
  $Seite = 1;
}
else
{
  $Seite = $_REQUEST['Seite'];
}
if ($Seite > $Total) $Seite = $Total;


$ProSeite = 5; 
$LinksZahl = 5;
$SeitenZahl = ceil($Total/$ProSeite);
if ($LinksZahl % 2 == 0) $LinksZahl++;
$NumerischeLinks = ($LinksZahl - 1) / 2;
$url = $_SERVER['PHP_SELF'];


$sql .= " limit ". ($Seite * $ProSeite - $ProSeite) .", ".$ProSeite; 
$result = mysql_query($sql);

mysql_close($mysql_conn);

$AuslassungszeichenVorn = '';
$AuslassungszeichenHinten = '';
$AnfangLink = '';
$EndeLink = '';
$ZurueckLink = '';
$WeiterLink = '';
$SichtbareLinks = '';

if ($SeitenZahl > 1)
{
  $Nr = $Seite - $NumerischeLinks;
  $Anzeige = 0;

  while ($Nr <= $SeitenZahl)
  {
     if ($Nr < 1) {$Nr++; continue;}
     elseif ($Nr > $Seite + $NumerischeLinks) {break;}
     if ($Nr == $Seite) {$SichtbareLinks .= " $Nr";}
     else {$SichtbareLinks .= ' <a href="'.$url.'?Seite='.$Nr.'&Total='.$Total.'">'.$Nr.'</a>';}
     $Nr++;
     $Anzeige++;
  }
}

if ($Seite > 1)
{
  $AnfangLink = ' <a href="'.$url.'?Seite=1&Total='.$Total.'">&#8804</a>';
  if ($Seite - 1 > 1)
  {
    $ZurueckLink = ' <a href="'.$url.'?Seite='.($Seite-1).'&Total='.$Total.'">Zurück</a>';
  }
}

if ($Seite < $SeitenZahl)
{
  $EndeLink = ' <a href="'.$url.'?Seite='.$SeitenZahl.'&Total='.$Total.'">&#8805</a>';
  if ($Seite + 1 < $SeitenZahl)
  {
    $WeiterLink = ' <a href="'.$url.'?Seite='.($Seite+1).'&Total='.$Total.'">Weiter</a>';
  }
} 


if ($Seite - $NumerischeLinks > 1)
{
  $AuslassungszeichenVorn = ' ...';
}
if ($Seite + $NumerischeLinks < $SeitenZahl)
{
  $AuslassungszeichenHinten = ' ...';
}


$Nav = $AnfangLink;
$Nav .= $ZurueckLink;
$Nav .= $AuslassungszeichenVorn;
$Nav .= $SichtbareLinks;
$Nav .= $AuslassungszeichenHinten;
$Nav .= $WeiterLink;
$Nav .= $EndeLink;
print $Nav;

if ($SeitenZahl > $Anzeige)
{
  print "Seiten: $SeitenZahl";
}

ayufoot();

?>

Ich hoffe ihr könnt mir da weiterhelfen :)
 
Hi,

deine Select Abfrage kannst du mit DESC und ASC sortieren. Und mit Limit kannst du nur eine bestimmte Anzahl ausgeben, und dann sagst du ist xx.php?page=0 gebe mir die ersten 5 aus, ist ?page=1, die nächsten 5. Gibt es kein page dann gib mir die ersten 5 aus.
 
Zurück