Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Kolejność bloków menu.
Forum PHP.pl > Forum > Przedszkole
Peterek
Witam!
Mam tabelę z blokami menu w mojej bazie danych. Istnieje tam komórka "kolejnosc", dzięki której mógłbym sobie ustawić kolejność tych bloków. Niestety nie wiem jak zrobić, aby w panelu administratora uzyskać taki efekt,

blok1 | na dół
blok2 | na dół | do góry
blok3 | na dól | do góry
blok4 | do góry

że kiedy kliknę "na dół" bądź "do góry" w bazie danych zmieni się zawartość komórki "kolejnosc" danego rekordu. Niestety nie da się nadać każdemu blokowi numerka 1, 2, 3, 4, bo będą się one powielać. Czy istnieje jakiś inny sposób, aby uzyskać w/w efekt?
Z góry dzięki za pomoc.
Pozdrawiam
kociupk
ja to robie tak
  1. function position_category_up($id_category, $position, $position_site, $isset) {
  2. if($isset == 'position_up') {
  3. $select_p_c = "SELECT * FROM site_category WHERE id_position < '".$position."' AND position = '".$position_site."' ORDER BY id_position DESC LIMIT 1";
  4. $query_p_c = mysql_query($select_p_c) or die(mysql_error());
  5. $array_p_c = mysql_fetch_array($query_p_c);
  6.  
  7. $new_position = $array_p_c['id_position'];
  8. $old_position = $position;
  9.  
  10. $edit_new_position_update = "UPDATE site_category SET id_position = '".$new_position."' WHERE id_position = '".$old_position."' AND position = '".$position_site."'";
  11. $edit_new_position_query = mysql_query($edit_new_position_update) or die(mysql_error());
  12.  
  13. $edit_old_position_update = "UPDATE site_category SET id_position = '".$old_position."' WHERE id_position = '".$new_position."' AND id_category = '".$array_p_c['id_category']."' AND position = '".$position_site."'";
  14. $edit_old_position_query = mysql_query($edit_old_position_update) or die(mysql_error());
  15.  
  16. if(!$edit_new_position_query && !$edit_old_position_query) {
  17. echo '<tr><td id="text_formularz_potwierdzenie">Nie można zmienić pozycji!</td></tr>';
  18. }
  19. }
  20. }
  21.  
  22. function position_category_down($id_category, $position, $position_site, $isset) {
  23. if($isset == 'position_down') {
  24. $select_p_c = "SELECT * FROM site_category WHERE id_position > '".$position."' AND position = '".$position_site."' ORDER BY id_position ASC LIMIT 1";
  25. $query_p_c = mysql_query($select_p_c) or die(mysql_error());
  26. $array_p_c = mysql_fetch_array($query_p_c);
  27.  
  28. $new_position = $array_p_c['id_position'];
  29. $old_position = $position;
  30.  
  31. $edit_new_update = "UPDATE site_category SET id_position = '".$new_position."' WHERE id_position = '".$old_position."' AND position = '".$position_site."'";
  32. $edit_new_query = mysql_query($edit_new_update) or die(mysql_error());
  33.  
  34. $edit_old_update = "UPDATE site_category SET id_position = '".$old_position."' WHERE id_position = '".$new_position."' AND id_category = '".$array_p_c['id_category']."' AND position = '".$position_site."'";
  35. $edit_old_query = mysql_query($edit_old_update) or die(mysql_error());
  36.  
  37. if(!$edit_new_query && !$edit_old_query) {
  38. echo '<tr><td id="text_formularz_potwierdzenie">Nie można zmienić pozycji!</td></tr>';
  39. }
  40. }
  41. }
Barcelona
Można jeszcze ręcznie wpisywać kolejność bloków w menu, np:

blok1 | pozycja =[1]
blok2 | pozycja =[2]
blok3 | pozycja =[3]
blok4 | pozycja =[4]
Peterek
Dzięki za pomoc!
@kociupk:
przeanalizuję ten kod i myślę, że coś skleję, dzięki 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.