wert ändern, plus/minus...

jackob100

Mitglied
Abend

Ich habe ein Script das aus irgendeinem Grund nicht vollständig funktioniert
komme aber nicht selbst darauf wiso...

Link:
HTML:
...aktion=sortieren&platz=3&sort=ab

Aus Platz 3 sollte Platz 4 werden, diese beiden sollten also die Plätze tauschen...
PHP:
if ( isset( $_GET['aktion'] ) && $_GET['aktion'] == "sortieren" )
                {
                if ( $_GET['sort'] == "auf" )
                        {
                        $query = mysql_query ("UPDATE partner SET sortierung = sortierung + 1 WHERE sortierung = ".($_GET['platz']-1)."");
                        $query = mysql_query ("UPDATE partner SET sortierung = sortierung - 1 WHERE sortierung = ".$_GET['platz']."");
                        $ergebnis = mysql_query( $query, $link );
                        if ( ! $ergebnis )
                            die ( "sortieren update error: ".mysql_error() );
                        }
                if ( $_GET['sort'] == "ab" )
                        {
                        $query = mysql_query ("UPDATE partner SET sortierung = sortierung - 1 WHERE sortierung = ".($_GET['platz']+1)."");
                        $query = mysql_query ("UPDATE partner SET sortierung = sortierung + 1 WHERE sortierung = ".$_GET['platz']."");
                        $ergebnis = mysql_query( $query, $link );
                        if ( ! $ergebnis )
                            die ( "sortieren update error: ".mysql_error() );
                        }
                }

Platz 3 wird zu Platz 4, Platz 4 bleibt jedoch auch Platz4....wiso?

gruss jackob
 
Wie wärs wenn du auch BEIDE Queries abschickst:

PHP:
 $query = mysql_query ("UPDATE partner SET sortierung = sortierung - 1 WHERE sortierung = ".($_GET['platz']+1)."");
$ergebnis = mysql_query( $query, $link ); //erstmal die erste Query ausführen, dann die zweite zuweisen und ausführen...
$query = mysql_query ("UPDATE partner SET sortierung = sortierung + 1 WHERE sortierung = ".$_GET['platz']."");
$ergebnis = mysql_query( $query, $link );

DJ
 
Problem gelöst:

PHP:
if ( isset( $_GET['aktion'] ) && $_GET['aktion'] == "sortieren" )
                {
                if ( $_GET['sort'] == "auf" )
                        {
                        $query = "UPDATE partner SET sortierung = sortierung + 1 WHERE sortierung = ".($_GET['platz']-1)."";
						$ergebnis = mysql_query( $query, $link );
                        $query = "UPDATE partner SET sortierung = sortierung - 1 WHERE sortierung = ".$_GET['platz']." AND id = ".$_GET['id']."";
                        $ergebnis = mysql_query( $query, $link );
                        if ( ! $ergebnis )
                            die ( "sortieren update error: ".mysql_error() );
                        }
                if ( $_GET['sort'] == "ab" )
                        {
                        $query = "UPDATE partner SET sortierung = sortierung - 1 WHERE sortierung = ".($_GET['platz']+1)."";
						$ergebnis = mysql_query( $query, $link );
                        $query = "UPDATE partner SET sortierung = sortierung + 1 WHERE sortierung = ".$_GET['platz']." AND id = ".$_GET['id']."";
                        $ergebnis = mysql_query( $query, $link );
                        if ( ! $ergebnis )
                            die ( "sortieren update error: ".mysql_error() );
                        }
                }

Danke
 
Zurück