Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]skrypt zarzadzania menu
tog
post
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

Ostrzeżenie: (0%)
-----


witam
chce napisac skrypt ktory potrafi edytowac pozycje w menu jak i je przesuwac gora/gol, oraz kasowac

i z przesuwaniem wlasnie mam problem
probowalem na dziesiatki sposobow i nic z tego nie wychodzi

zrobilem to w ten sposob, ze w bazie mam kolumny 'nazwa' 'adres' 'pozycja' i 'id'
menu jest sortowane po 'pozycja'
i to chcialbym podmieniac, tzn jak link ma pozycja=5 i chce go dac w gore to zmieniam na pozycja=4 a ten z pozycja=4 na pozycja=5

jak to rozwiaze to widze kolejny problem - id po kasacji wiersza
ale nie wazne... poki co nie moge sobie poradzic z tym podmienianiem
Go to the top of the page
+Quote Post
lessi
post
Post #2





Grupa: Zarejestrowani
Postów: 89
Pomógł: 12
Dołączył: 1.12.2009

Ostrzeżenie: (0%)
-----


To się na siłę da zrobić. Ale tobie nie wychodziło ponieważ chciałeś żeby przez chwilę były 2 takie same id. Musiałbyś zostawić puste id=0. Wtedy jak chcesz z poz 5 na 4 to musisz zmienić 4 na 0 potem z 5 na 4 a na koniec z 0 na 5.
Ale także z chęcią czekam na inny sposób.
Go to the top of the page
+Quote Post
tog
post
Post #3





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

Ostrzeżenie: (0%)
-----


probowalem najpierw obie wartosci przypisac do zmiennych a pozniej popodstawiac
stad id i pozycja dodatkowo
ale jakbym nei probowal to mi nei wychodzilo, albo sie platalem, albo cos jeszcze jest zle

w kazdym razie
zaraz sprobuje z 0 winksmiley.jpg

E: dziala
dzieki wielkie winksmiley.jpg

a tak swoja droga to znow cos pokrecilem i nie od razu dzialalo ^^

Ten post edytował tog 6.12.2009, 20:41:16
Go to the top of the page
+Quote Post
Meares
post
Post #4





Grupa: Zarejestrowani
Postów: 102
Pomógł: 13
Dołączył: 16.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Może i troszkę odświeżę, ale wydaje mi się, że mogę troszkę pomóc osobom, które też próbują coś takiego zrobić, a są bardzo początkujące w PHP/MySQL.

Na początek musimy mieć tabelę w bazie danych:
Kod
+----+---------+-----------+----------------------+
| id | kolejka | nazwa     | adres                |
+----+---------+-----------+----------------------+
|  1 |       1 | Index     | index.php            |
|  2 |       4 | MMOCenter | http://mmocenter.pl/ |
|  3 |       2 | Newsy     | newsy.php            |
|  4 |       3 | Kontakt   | kontakt.php          |
+----+---------+-----------+----------------------+


Taka stryktura pozwoli nam na sortowanie według kolejki, a tego właśnie chcemy. Właściwie wszystko wykona przez nas zapytanie:
  1. SELECT * FROM `ListaMenu` ORDER BY `kolejka` ASC;

Zapewne już wiadomo jak by zmieniać kolejność, ale napiszę:
  1. UPDATE `ListaMenu` SET `kolejka`=0 WHERE `kolejka`=1;
  2. UPDATE `ListaMenu` SET `kolejka`=1 WHERE `kolejka`=2;
  3. UPDATE `ListaMenu` SET `kolejka`=2 WHERE `kolejka`=0;

Dobrze to upchać do jednego zapytania:
  1. UPDATE `ListaMenu` SET `kolejka`=0 WHERE `kolejka`=1;
  2. UPDATE `ListaMenu` SET `kolejka`=1 WHERE `kolejka`=2;
  3. UPDATE `ListaMenu` SET `kolejka`=2 WHERE `kolejka`=0;") or die(mysql_query());


Powyższe zapytanie zamieni miejscami linki Index oraz Newsy.

Ten post edytował Meares 5.01.2010, 05:37:39


--------------------
manual mmocenter
Nie pomagam na PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 15:01