Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Kolejność menu
Forum PHP.pl > Forum > Przedszkole
adrianozo
Od razu przejdę do rzeczy. Zastanawia mnie działanie skryptu kolejności menu:

Kontakt jest na 1 pozycji
O nas jest na 2 pozycji

Gdy Kontakt przeniosę w dół to będzie na 2 pozycji więc O nas musi być na 1 pozycji.

Jak to ma działać. Mam taki mały skrypt

  1. <?php
  2. $down = zabezpiecz($_GET['positiondown']);
  3. $up = zabezpiecz($_GET['positionup']);
  4. $zapytanie = mysql_query("SELECT * FROM `strony`");
  5. $ostatni = mysql_num_rows($zapytanie);
  6. while($wiersz = mysql_fetch_array($zapytanie))
  7. {
  8. $position = zabezpiecz($wiersz['pozycja']);
  9. $dol = zabezpiecz($position+1);
  10. $gora = zabezpiecz($position);
  11. $iddogory = $wiersz['id']+1;
  12. $idnadol = $wiersz['id']-1;
  13. echo $wiersz['wyswietlana'];
  14. if($position==1)
  15. {
  16. echo ' <a href="index.php?page=management_menu&positiondown='.$wiersz['id'].'">Przesuń na dół</a><br />';
  17. }
  18. elseif($position==$ostatni)
  19. {
  20. echo ' <a href="index.php?page=management_menu&positionup='.$wiersz['id'].'">Przesuń do góry</a><br />';
  21. }
  22. else
  23. {
  24. echo ' <a href="index.php?page=management_menu&positiondown='.$wiersz['id'].'">Przesuń na dół</a>';
  25. echo ' <a href="index.php?page=management_menu&positionup='.$wiersz['id'].'">Przesuń do góry</a><br />';
  26. }
  27. if(isset($_GET['positiondown']) or ($_GET['positionup']))
  28. {
  29. if($down==$wiersz['id'])
  30. {
  31. $zapyt = "UPDATE `strony` SET `pozycja` = '".$dol."' WHERE `id` = '".$wiersz['id']."'";
  32. $idzapy = mysql_query($zapyt);
  33. echo $zapyt;
  34. echo '<br />';
  35. $zapyta = "UPDATE `strony` SET `pozycja` = '".$gora."' WHERE `id` = '".$iddogory."'";
  36. $idzapy = mysql_query($zapyta);
  37. echo $zapyta;
  38. echo '<br />';
  39. }
  40. else
  41. {
  42. $zapyt = "UPDATE `strony` SET `pozycja` = '".$gora."' WHERE `id` = '".$wiersz['id']."'";
  43. $idzapy = mysql_query($zapyt);
  44. echo $zapyt;
  45. echo '<br />';
  46. $zapyta = "UPDATE `strony` SET `pozycja` = '".$dol."' WHERE `id` = '".$idnadol."'";
  47. $idzapy = mysql_query($zapyta);
  48. echo $zapyta;
  49. echo '<br />';
  50.  
  51. }
  52. }
  53. }
  54. ?>

W tym rzecz, że ten skrypt dziwnie działa. Mam teraz tak:

Kod
Kontakt 1
O nas 2
O szkole 3
Informatyka 4


I gdy przenoszę Kontakt w dół czyli notabene powinno się stać tak:

Kod
Kontakt 2
O nas 1
O szkole 3
Informatyka 4


A otrzymuje takie coś:

Kod
Kontakt 3
O nas 4
O szkole 5
Informatyka 4


Może istnieje w PHP taka funkcja jak w C++ swap();?
A jeśli istnieje to jak wykonać zapytania do bazy później.
Jeśli nie ma takiej to jak to inaczej zrobić?

Proszę o pomoc smile.gif
lessi
Jeżeli pytasz o zamianę zmiennych to zobacz:
http://www.jonasjohn.de/
Jeżeli ci nie wyjdzie to napisz mi na pw, bo mam gotowy skrypt.
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.