Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Zmniejszanie i zwiększanie
Forum PHP.pl > Forum > Przedszkole
Lee
Mam pytanie, jak zrobić żeby jak mam kilka pozycji np
Pozycja 1
Pozycja 2
Pozycja 3
i klikne przyciks "W górę" przy np "Pozycja 2" to przeniosło ją w góre i było
Pozycja 2
Pozycja 1
Pozycja 3
Próbowałem coś, ale chyba robie to nie tak jak trzeba :/
mike
Cytat(Lee @ 10.06.2006, 16:58 ) *
Próbowałem coś, ale chyba robie to nie tak jak trzeba :/

A skąd mamy wiedzieć skoro nie pokazałeś/napisałeś jak to robisz.

A sposób jest prosty.
Dodajesz sobie kolumnę w tabeli, powiedzmy, position i sortyjesz po niej.
Jak element A idzie do góry to zamienia się pozycją z elementem który był wyżej.
W dół? Odwrotnie.
Lee
Okej prześledziłem kod krok po kroku i znalazłem błąd otóz w linijce 9 zamiast $MenuGora ma być $MenuA i teraz wszystko działa.

Stary kod
  1. <?php
  2. $id = $_GET['id'];
  3. $wykonaj = mysql_query("SELECT * FROM $tbl_menu WHERE id = '$id'");
  4. while ($wynik = mysql_fetch_assoc($wykonaj)){
  5. $MenuA = $wynik['kolejnosc']; // Kolejność menu podwyższanego
  6. $pozycja = $wynik['pozycja'];
  7. $IdA = $wynik['id']; // Id menu podwyższanego
  8. }
  9. $zmniejsz = $MenuGora - 1;
  10. $wykonaj = mysql_query("SELECT * FROM $tbl_menu WHERE kolejnosc = '$zmniejsz' AND pozycja = '$pozycja'");
  11. while ($wynik = mysql_fetch_assoc($wykonaj)){
  12. $MenuB = $wynik['kolejnosc']; // Kolejność menu obniżanego
  13. $IdB = $wynik['id']; // Id menu obniżanego
  14. }
  15.  
  16. //Obniża
  17. $B = $MenuB + 1;
  18. $wykonaj = mysql_query("UPDATE $tbl_menu SET kolejnosc = '$B' WHERE id = '$IdB'");
  19.  
  20. //Podwyższa
  21. $A = $MenuA - 1;
  22. $wykonaj = mysql_query("UPDATE $tbl_menu SET kolejnosc = '$A' WHERE id = '$IdA'");
  23. ?>


Poprawiony kod
  1. <?php
  2. $id = $_GET['id'];
  3. $wykonaj = mysql_query("SELECT * FROM $tbl_menu WHERE id = '$id'");
  4. while ($wynik = mysql_fetch_assoc($wykonaj)){
  5. $MenuA = $wynik['kolejnosc']; // Kolejność menu podwyższanego
  6. $pozycja = $wynik['pozycja'];
  7. $IdA = $wynik['id']; // Id menu podwyższanego
  8. }
  9. $zmniejsz = $MenuA - 1;
  10. $wykonaj = mysql_query("SELECT * FROM $tbl_menu WHERE kolejnosc = '$zmniejsz' AND pozycja = '$pozycja'");
  11. while ($wynik = mysql_fetch_assoc($wykonaj)){
  12. $MenuB = $wynik['kolejnosc']; // Kolejność menu obniżanego
  13. $IdB = $wynik['id']; // Id menu obniżanego
  14. }
  15.  
  16. //Obniża
  17. $B = $MenuB + 1;
  18. $wykonaj = mysql_query("UPDATE $tbl_menu SET kolejnosc = '$B' WHERE id = '$IdB'");
  19.  
  20. //Podwyższa
  21. $A = $MenuA - 1;
  22. $wykonaj = mysql_query("UPDATE $tbl_menu SET kolejnosc = '$A' WHERE id = '$IdA'");
  23. ?>

może kiedyś komuś się przyda winksmiley.jpg
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.