Sascha: Tabelle mit n Einträgen und möchte auf jeder Seite m anzeigen.

Beitrag lesen

Hallo,

ich habe ein Problem, bei dem ich nicht weiterkomme.

Ich möchte sozusagen eine Blätterfunktion (x Einträge pro Seite) gemäss Beispiel der FAQ:

14.16 Ich habe eine Tabelle mit n Einträgen und möchte auf jeder Seite m davon anzeigen.
http://www.koehntopp.de/php/faq-database_mysql.html#database_mysql-16

in meinem Webprojekt realisieren.

Ich habe diese Funktion in meine Configdatei reingeschrieben. Sobald ich diese Funktion in meiner Config drin habe, lässt sich meine Startdatei nicht mehr fehlerfrei ausführen. Der Fehler muß also in dieser Funktion meines Wissen nach drin sein, denn sobald die Funktion draussen ist, funktioniert alles bestens.

Kann mir jemand sagen, was an meiner nachfolgenden Funktion falsch ist? Ich habe mich an das Beispiel aus der FAQ gehalten und es an mein Script entsprechend anzupassen.

//Blätterfunktion Test Beginn

function showonelinktest($id,$schriftfarbe,$schriftart,$h_titel,$h_beschr) {

// Datendefinition für Datenbankverbindung.

$table    = "downloadprogramme";    // Der Name der Datenbanktabelle

// Datendefinition für die Clientausgabe
$start = (isset($start)) ? abs((int)$start) : 0;
$limit = 5;                     // Datensätze pro Ausgabeseite

// Feststellen der Anzahl der verfügbaren Datensätze.
$resultID = @mysql_query("SELECT COUNT(ID) FROM ".$table);
$total    = @mysql_result($resultID,0);

// Ggf. $start korrigieren (falls Parameter in
// der URL manipuliert wurde)
$start    = ($start >= $total) ? $total - $limit : $start;

// Datenbankabfrage ausführen.
$abfrage    = "SELECT ID,* FROM ".$table
           ." LIMIT ".$start.",".$limit;
$resultID = @mysql_query($abfrage);

list($id,$titel,$beschreibung,$preis,$braucht,$hits,$bb,$neu,$datum,$bereich
,$hplink,$programmlink,$screenshotlink,$emaillink,$sprache,$lizenz,$gross,$m
asseinheit,$kurzbeschreibung) = mysql_fetch_row($abfrage);
        if ($neu=='5') {
        $dead = "#C67878";
        } else {
        $dead = "#CDCDCD";
        }
                $hplink = urlencode($hplink);
                $programmlink = urlencode($programmlink);
                $screenshotlink = urlencode($screenshotlink);
                $datum_array = split("-","$datum");

$datum = "$datum_array[2].$datum_array[1].$datum_array[0] ";
                if ($bb=='') {
                $bb = "-";
                }

// Ergebnisse lesen und an den Client ausgeben
while ($data = mysql_fetch_array($resultID))
{

echo "
 <table border rules=groups width="500" border="1" cellpadding="2"
cellspacing="1">
  <tr>
     <td colspan="2" align="left" nowrap bgcolor="$h_titel">

<font face="$schriftart" size="2"> <b>";

echo '<a href="index.php4?session=dl&id='. urlencode ($id) . '">' .
htmlspecialchars ($titel) . '</a>';

echo "</b></font>

</td>
  </tr>
  <tr>
     <td bgcolor="$h_beschr">
        <div align="left"><font face="$schriftart"
size="1">Aufgenommen am: $datum </font></div>
      </td>
   </tr>
   <tr>
      <td bgcolor="#FFFFFF" valign="top">
        <div align=justify><font face="$schriftart"
size="2">Kurzbeschreibung:<br><br>$kurzbeschreibung</font></div>
      </td>
    </tr>
    <tr>
      <td bgcolor="$h_beschr" height="20">
        <div align="left"> <img src="$sprache" alt="Sprache"
border="0">    <font face="$schriftart"
size="1">Lizenz: $lizenz </font>      
<font face="$schriftart" size="1">System-Voraussetzung:
$braucht</font></div>
        </td>
     </tr>

<tr>
        <td bgcolor="$h_titel">
      <!--<div align="left"><font face="$schriftart" size="2"> <a
href="deadlink.php4?id=$id&bereich=$bereich"><font
color="#FF0000">[Defekter Link?]</font></a> </font></div>-->
<div align="left"><font face="$schriftart" size="2"> Dateigröße:
$gross $masseinheit </font>  |  <font face="$schriftart"
size="2">Hits: $hits   |   Vote: $bb </font></div>
        </td>
     </tr>
  </table>  <br><br> ";
  }

// Zurück- und Vorblättern
if ($start > 0)
{
  $newStart = ($start - $limit < 0) ? 0 : ($start-$limit);
  echo "<a href=".$PHP_SELF."?start=".$newStart
      ."><< zurück</a>";
}

if ($start + $limit < $total)
{
  $newStart = $start + $limit;
  echo " <a href=".$PHP_SELF."?start=".$newStart
      .">vor >></a>";

}
//Blätterfunktion Test Ende

Über eine Hilfe wäre ich sehr dankbar. Im voraus besten Dank.

Mfg.

Sascha