Zerknij okiem, skrypt niby jakoś działa, ale się nie raz myli przy przenoszeniu w dol, niewiem czemu:
Kod:
elseif($_GET['action'] == 'up' or $_GET['action'] == 'down') {
$nr = $_GET['id'];
if($_GET['action'] == 'up') {
$liczba = ($nr+1); //rekord o jedna pozycje wyzej
}
else {
$liczba = ($nr-1); //rekord o jedna pozycje nizej
}
//pobranie z bazy danych rekordu ktory ma byc wyzej/nizej
$query1 = "SELECT * FROM news WHERE nr=" .$nr. "";
$wynik = mysql_query($query1);
//rozłozenie rekordu na osobne pozycje
$post = mysql_fetch_assoc($wynik);
$tytul = $post['tytul'];
$osoba = $post['osoba'];
$tresc = $post['tresc'];
$data = $post['data'];
//pobranie rekordu o jedne poziom wyzej/nizej niż aktulany
$query2 = "SELECT * FROM news WHERE nr=" .$liczba. "";
$wynik = mysql_query($query2);
echo mysql_error(). ': ' .mysql_errno();
//rozłożenie rekordu na osobne pozycje
$wyzszy = mysql_fetch_assoc($wynik);
$wTytul = $wyzszy['tytul'];
$wOsoba = $wyzszy['osoba'];
$wTresc = $wyzszy['tresc'];
$wData = $wyzszy['data'];
//zamiana pozycji
//najpierw rekord ktory był wyżej/nizej
$query3 = "UPDATE news SET
tytul = '$wTytul',
tresc = '$wTresc',
osoba = '$wOsoba',
data = '$wData'
WHERE nr = $nr";
$wynik = mysql_query($query3);
//teraz rekord ktory chcemy zamienic
$query4 = "UPDATE news SET
tytul = '$tytul',
tresc = '$tresc',
osoba = '$osoba',
data = '$data'
WHERE nr = $liczba";
$wynik = mysql_query($query4);
echo mysql_errno();
}