Vor und Zurück in der Datenbank

Jenny1983

Grünschnabel
Hallo, ich wieder;-)

Ich brauche einen Vor und Zurückbutton.
Unten habe ich schon etwas eingebunden doch es funktioniert nicht.
Greift $forward denn schon auf die Datenbank zu?

Wie soll das bloß gehen?

mysql_select_db("test");
$mach1=mysql_query("SELECT * FROM test ORDER BY id");
$forward = "select id from test where id > '".$_GET["id"]."' limit 1";
$back = "select id from test where id < '".$_GET["id"]."' order desc limit 1";


while($unter=mysql_fetch_array($mach1))
{
$s1 = $unter[vorgabe];
$s2 = $unter[anschluss];
$s3 = $unter[anschluss2];
$bild = $unter[sonstiges];


}

echo "<br><br><br><input type=\"button\" value=\"vor\" onClick=\"location.href='test.php?action=ffwd&id=2'\">";
echo "<br><br><br><input type=\"button\" value=\"zurück\" onClick=\"location.href='test.php?action=back&id=2'\">";
 
Du führst die SQL Queries $back und $forward überhaupt nicht aus.

Folgendes würde auch mit IF/ELSE funktionieren:

PHP:
switch( $_GET['action'] )
{
    case 'ffwd':
        $sql = "select id from test where id > '".$_GET["id"]."' limit 1";
        break;
    case 'back':
        $sql = "select id from test where id < '".$_GET["id"]."' order desc limit 1";
        break;
    default:
        $sql = "SELECT * FROM test ORDER BY id";
}

$mach1 = mysql_query( $sql );

So in etwa würde dann immer der richtige Query ausgeführt, jenachdem welcher Knopf gedrückt wurde.
Ausserdem solltest du die SQL Queries nochmal überprüfen, ich denke die stimmen so nicht ganz.

Soweit ich mich erinnere gibt es in der Tutorial Sektion zu diesem Thema auch noch etwas zum lesen.
 
Du führst die SQL Queries $back und $forward überhaupt nicht aus.

Folgendes würde auch mit IF/ELSE funktionieren:

PHP:
switch( $_GET['action'] )
{
    case 'ffwd':
        $sql = "select id from test where id > '".$_GET["id"]."' limit 1";
        break;
    case 'back':
        $sql = "select id from test where id < '".$_GET["id"]."' order desc limit 1";
        break;
    default:
        $sql = "SELECT * FROM test ORDER BY id";
}

$mach1 = mysql_query( $sql );

So in etwa würde dann immer der richtige Query ausgeführt, jenachdem welcher Knopf gedrückt wurde.
Ausserdem solltest du die SQL Queries nochmal überprüfen, ich denke die stimmen so nicht ganz.

Soweit ich mich erinnere gibt es in der Tutorial Sektion zu diesem Thema auch noch etwas zum lesen.

Ich habe nun alles so gemacht.

Er gibt mir als Ausgabe die letzte Zeile aus, beim klick auf den Button VOR gibt er mir immer eine 3 aus, nur die Zahl 3 steht da. Auf den Zurückbutton dieses:"Ungültige Abfrage: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc limit 1' at line 1".


So ist der stand. Die Queries habe ich überarbeitet.
mysql_select_db("test");
switch( $_GET['action'] )
{
case 'ffwd':
$sql = "select id from test where id > '".$_GET["id"]."' limit 1";
break;
case 'back':
$sql = "select id from test where id < '".$_GET["id"]."' order desc limit 1";
break;
default:
$sql = "SELECT * FROM test ORDER BY id";
}

$mach1 = mysql_query( $sql );
if (!$mach1) {
die('Ungültige Abfrage: ' . mysql_error());
}
while($unter=mysql_fetch_array($mach1)){
$ids = $unter[id];
$s1 = $unter[vorgabe];
$s2 = $unter[anschluss];
$s3 = $unter[anschluss2];
$son1 = $unter[sonstiges];
}
echo "$ids $s1<br>";
echo "<br><br><br><input type=\"button\" value=\"vor\" onClick=\"location.href='testt.php?action=ffwd&id=2'\">";
echo "<br><br><br><input type=\"button\" value=\"zurück\" onClick=\"location.href='testt.php?action=back&id=2'\">";
 
Ich hab nun &id=2 hinten weggenommen. Beim vor Button zeigt er mir nun nur die 1 an. Und bei jeden weiteren Click auch nur die 1.

Beim zurück Button noch der gleiche Fehler.

hmmm. Gibs doch nicht.:confused:


echo "<br><br><br><input type=\"button\" value=\"vor\" onClick=\"location.href='testt.php?action=ffwd'\">";
echo "<br><br><br><input type=\"button\" value=\"zurück\" onClick=\"location.href='testt.php?action=back'\">";
 
Zurück