Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zamiana wartosci pol rekordow
Forum PHP.pl > Forum > Bazy danych > MySQL
borec
tabela wyglada mniej wiecej tak:
Kod
ID | pos_y (int) | pos_x (enum(left, right) | inne_id

i pare rekordow:
Kod
150 | 1 | left | 20
151 | 2 | left | 20
152 | 3 | left | 20
153 | 1 | right | 20
154 | 2 | right | 20
155 | 3 | right | 20


chce przesunac w gore (pos_y) np rekord o ID 151 wiec tabela powinna wygladac tak:

Kod
150 | 2 | left | 20
151 | 1 | left | 20
152 | 3 | left | 20
153 | 1 | right | 20
154 | 2 | right | 20
155 | 3 | right | 20


czyli zamienic rekordy 150 i 151 wartosciami pos_y

wiem ze to proste, zrobilem to na kilka sposobow i za kazdym razem cos sie chrzani. nie jestem zbyt biegly w sql wiec prosze o pomoc. na wejsciu dostajemy tylko ID rekordu ktory chcemy przesunac
fones
hmm.... odczytujesz wartosci z poszczegolnych pol, zapisujesz je pod roznymi zmiennymi, a potem UPDATE... nie wiem w czym tu jes problem...

dostejemy id rekordu... to chyba dwoch by sie przydało, zeby je zamienić...

pozdro guitar.gif
borec
hehe no wlasnie sprawa jest prosta ale cos nie robi winksmiley.jpg przepisze od poczatku i musi zaskoczyc smile.gif
fones
ok... no to kod bedzie wygladał tak:
  1. <?php
  2.  
  3. // łączenie sie z baza tego nie musze pisac
  4.  
  5. // zmienne
  6. $nazwa_tabeli=''; // bo nie podales
  7. $id1=''; // id pierwszego rekordu
  8. $id2=''; // id drugiego rekordu
  9. $pole='pos_y'; // pole które 'podmieniamy'
  10.  
  11. // wyciagam pierwsza zmienna
  12. $q1=mysql_query(&#092;"select $pole from $nazwa_tabeli where id='$id1'\", $conn);
  13.  
  14. $zmienna1=$a1['$pole'];
  15.  
  16. // wyciagam druga zmienna
  17. $q2=mysql_query(&#092;"select $pole from $nazwa_tabeli where id='$id2'\", $conn);
  18.  
  19. $zmienna2=$a2['$pole'];
  20.  
  21. // teraz $zmienna1 wstawiam w miejsce $zmiennej2
  22. $do1=mysql_query(&#092;"UPDATE $nazwa_tabeli set $pole='$zmienna1' where id='$id2'\", $conn);
  23.  
  24. // teraz $zmienna2 wstawiam w miejsce $zmiennej1
  25. $do2=mysql_query(&#092;"UPDATE $nazwa_tabeli set $pole='$zmienna2' where id='$id1'\", $conn);
  26.  
  27. ?>

powinno działać

pozdro guitar.gif
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-2024 Invision Power Services, Inc.