Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [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
 
Start new topic
Odpowiedzi
Meares
post
Post #2





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
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 07:29