Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]porblem z zamiana pozycji
Forum PHP.pl > Forum > Przedszkole
zimekk
mam skrypt ktory zamienia mi rekordy w bazie danych, wyzej lub nizej zalezy jaki link wcisne. tylko jest jedne problem jeden zostaje zmieniony, ale w drugim usuwa mi wszystkie dane , ktore chce dodac...
  1. <?php
  2. elseif($_GET['action'] == 'up' or $_GET['action'] == 'down') {
  3.  
  4.    $nr = $_GET['id'];
  5.    
  6.    if($_GET['action'] == 'up') {
  7.        $liczba = ($nr+1); //rekord o jedna pozycje wyzej
  8.    }
  9.    else {
  10.        $liczba = ($nr-1); //rekord o jedna pozycje nizej
  11.    }
  12.  
  13.    //pobranie z bazy danych rekordu ktory ma byc wyzej/nizej
  14.    $query = "SELECT * FROM news WHERE nr='" .$nr. "'";
  15.    $wynik = mysql_query($query);
  16.    //rozłozenie rekordu na osobne pozycje
  17.    $post = mysql_fetch_assoc($wynik);
  18.    $tytul = $post['tytul'];
  19.    $osoba = $post['osoba'];
  20.    $tresc = $post['tresc'];
  21.    $data = $post['data'];
  22.    
  23.    //pobranie rekordu o jedne poziom wyzej/nizej niż aktulany
  24.    $query = "SELECT FROM news WHERE nr='" .$liczba. "'";
  25.    $wynik = mysql_query($query);
  26.    //rozłożenie rekordu na osobne pozycje
  27.    $wyzszy = mysql_fetch_assoc($wynik);
  28.    $wTytul = $wyzszy['tytul'];
  29.    $wOsoba = $wyzszy['osoba'];
  30.    $wTresc = $wyzszy['tresc'];
  31.    $wData = $wyzszy['data'];
  32.    
  33.    //zamiana pozycji
  34.    //najpierw rekord ktory był wyżej/nizej
  35.    $query = "UPDATE news SET
  36.                tytul = '$wTytul',
  37.                tresc = '$wTresc',
  38.                osoba = '$wOsoba',
  39.                data = '$wData'
  40.                WHERE nr = $nr";
  41.    $wynik = mysql_query($query);
  42.    
  43.    //teraz rekord ktory chcemy zamienic
  44.    $query = "UPDATE news SET
  45.                tytul = '$tytul',
  46.                tresc = '$tresc',
  47.                osoba = '$osoba',
  48.                data = '$data'
  49.                WHERE nr = $liczba";
  50.    $wynik = mysql_query($query);
  51. }
  52. ?>
lewy87r
ciekawa sprawa kurcze ;] generalnie wszystko wyglada ok ale moze php i mysql nie pozwala w jednym skrypcie zmienic danych ktore zostaly pobrane z tabeli ;]
nie wiem tego...

ale tak czy inaczej to rozwiazanie moim zdaniem jest bezsensu, lepiej wprowadzic do bazy pole KOL - kolejnosc

ktore bedzie INT uniq i poprostu zrobic "order by kol" i po sprawie cala kolejnosc na tym polu bez zmiany danych itp... ;]
zimekk
Boże... sciana.gif sciana.gif

zapomiałem w lini 25 "*"
  1. <?php
  2. $query = "SELECT  FROM news WHERE nr=" .$liczba. "";
  3. ?>


nic tylko sie zastrzelic blinksmiley.gif
Spawnm
Mówił już o tym lewy87r, nie nabijaj posŧów.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.