Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Podstrony układanie kolejności
Forum PHP.pl > Forum > Przedszkole
devdev
Cześć.

mam w bazie tabele Pages w niej mam

id|title|page_name|text|kol



wiem żeby wyświetlało mi według kolejności to w zapytaniu order by kol

ale pytanie brzmi jak updetowac kolejność


zczytuje z bazy

Kod
[php]$q = $db->query('Select * from  pages order by kol');
While($wynik = mysql_fetch_assoc($q)){


}[/php]


i tu się kończy moja wiedza;/

Proszę o pomoc


b4x
Dodajesz nową kolumnę np. "pozycja" - i przypisujesz dla nich pozycje, i wtedy: ORDER BY pozycja ASC
devdev
to wiem u mnie to kolumna "kol"

Ale dzieki zapomniałem o "ASC"
b4x
No to proste zapytanie do MYSQL'a:

  1. UPDATE `pages` SET `kol` = "'.$nowa_pozycja.'" WHERE `id` = "'.$id_page.'"
- coś takiego?
devdev
ale np jak pozycja pozycje 2 dać w gore 1 to wtedy obie pozycje maja 1

nie mam sposobu żeby updetowac winksmiley.jpg
b4x
Jeśli chcesz przenieść niżej: pobierasz `kol` z niższym numerem od aktualnego od `kol` - i analogicznie jak chcesz 'w górę' przenieść to pobierasz jedno większe, np:


  1. $query = mysql_fetch_assoc(mysql_query('SELECT * FROM `pages` WHERE `id` = "'.$jakies_tam_id.'"'));
  2. $wyzej = mysql_fetch_assoc(mysql_query('SELECT * FROM `pages` WHERE `kol` > "'.$query['kol'].'" ORDER BY `kol` DESC'));
  3.  
  4. $nowa_pozycja = $wyzej['kol'];
  5.  
  6. mysql_query('UPDATE `pages` SET `kol` = "'.$nowa_pozycja.'" WHERE `id` = "'.$query['kol'].'"'); // Ustaw nową pozycję dla elementu zmienianego
  7. mysql_query('UPDATE `pages` SET `kol` = "'.$query['kol'].'" WHERE `id` = "'.$wyzej['id'].'"');
  8.  
  9. // Coś w ten deseń
  10.  

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.