Zählproblem der Datenbankeinträge

dreambaser

Erfahrenes Mitglied
Hallo Leute,

Ich benötige mal wieder eure Hilfe.

Ich will eine Art Seitenweises Anzeigen von den Inhalten einer Tabelle anzeigen lassen. Dieses soll mit Vorwärts und Rückwärts blätterbar sein. Also wie in einem ganz normalen Buch.

Soweit ist es mir auch schon gelungen, die Id der Einträge einfach zu erhöhen. Solange man nur vorwärts blättern will geht das, aber sobald ich vorwärts und rückwärts zusammen einsetzen will, geht es nicht mehr, weil die ID nach der ich mich richte zwar runtergezählt wird, aber dardurch ich nicht mehr weiterblättern kann. Das liegt dann daran, das die ID erst runtergezählt wird und dann wieder um 1 nach oben gezählt wird.

Nun meine Frage wie könnte ich das verhindern, das der Wert dann nur um 1 erhöht wird, anstatt um 2 ?

hier noch einmal mein Script dazu:

So wird die nächste Seite geladen...

PHP:
if($id == $count)
{
echo FRONT;
}
if ($id == 1)
{
$id++;
echo '<a href="'.FILENAME_DETAILS.'?id='.$id.'">'; echo FRONT;
}

So wird eine Seite zurück geblättert....

PHP:
if ($id == 1)
{
echo BACK;
}
else
{
$id--;
echo '<a href="'.FILENAME_DETAILS.'?id='.$id.'">'; echo BACK;
}


Vielen Dank für eure Hilfe

cu -> da Dream
 
Ändere nicht die Variable $id selbst.... dann hast du auch keine Probleme
Code:
//<<<
if($id > 1)
    {
        echo '<a href="'.FILENAME_DETAILS.'?id='.($id-1).'">';
    }
        echo 'BACK';

if($id > 1)
    {
        echo '</a>';
    }

//>>>
if($id < $count)
    {
        echo '<a href="'.FILENAME_DETAILS.'?id='.($id+1).'">';
    }
        echo 'FRONT';

if($id < $count)
    {
        echo '</a>';
    }
 
Hi,

Also dein Ansatz war nicht schlecht, aber ich habe es nun anders gelöst.

Hier der Ansatz für jeden den es interessiert:

1. Ein Datensatz zurück blättern:

PHP:
$id2 = $id;
	$count = 10;

switch ($count)
{
case $id == 1:
echo BACK;
break;
case $id == $count:
echo '<a href="'.FILENAME_DETAILS.'?lang='.$_SESSION['language'].'&id='.$id=($id2-1).'">'; echo BACK;echo '</a>';
break;
case $id < $count:
echo '<a href="'.FILENAME_DETAILS.'?lang='.$_SESSION['language'].'&id='.$id=($id2-1).'">'; echo BACK;echo '</a>';
break;
}

2. Einen Datensatz weiter blättern:

PHP:
switch ($count)
{
case $count == $id+1:
echo FRONT;
break;
case $id < $count:
echo '<a href="'.FILENAME_DETAILS.'?lang='.$_SESSION['language'].'&id='.$id=($id2+1).'">'; echo FRONT; echo "</a>";
break;
}

Die Variable $count zeigt hier nur die maximalen Datensätze als Beispiel an. Das müsste dann je nachdem wie man es verwenden will angepasst werden.

FILENAME_DETAILS ist bei mir per Define festgelegt, so wird das ganze einfacher wenn man mal dateien umbennen will.

$_SESSION['language'] ist hierbei die Sprachanbindung, die bei mir per Zahlen definiert ist, das hat den Vorteil, das man daran eine Datenbank sehr schnell und einfach erweitern kann.

z.B: man hat eine Spalte die title heisst. wenn man nun diese Spalte in tilte_1, tiltle_2 usw. deklariert, dann kann schön sauber und einfach die Session der Sprache beim auslesen anhängen. Somit hat man nicht die Gefahr, das alles so verwirrt durcheinander läuft, das man im Endeffekt nicht mehr durchblickt.

Ok genug von meinen Tips *gg*

mfg

da Dream

cu -> da Dream
 
Zuletzt bearbeitet:
Zurück