![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 2.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Robię małą stronkę i potrebuję porady jak zrobić sortowanie produktów w php. Dokładnie chodzi o to aby produkty, które są dodawane w panelu do bazy danych można byłko sortować wg uznania - zmieniać ich kolejność wyświetlania na stronie. pozdrawiam
Powód edycji: [Spawnm] Przeniosłem.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
W get podajesz odpowiednią zmienną skrypt ją odczytuje i wysyła odpowiednie zapytanie do bazy.
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 2.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Można troszkę jaśniej ?
![]() pozdr |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 18 Dołączył: 7.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Pobierasz w zmiennej get czy mają być sortowanie rosnące czy malejąco. Później jak masz już tę informację to do zapytania dodajesz orderby costam /decs/.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 2.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Na chwile obecną wyciągam z bazy informację o produktach tak:
wiem, że mogę je posortować ORDER BY ASC lub DESC. Ja potrzebuję posortować to w taki sposób np: 1234567 - posortowane produkty i dokładam 8 produkt i chce aby był na pozycji 3 wyswietlany a nie zgodnie z id na pozycji 8. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 18 Dołączył: 7.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Po czym chcesz sortować jak nie po ID? Po nazwie? Po aliasie? Po czym? Bez tej informacji niewiele uzyskasz.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 2.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie tutaj mam styki jak to zrobic. Sortując po id jak zmieniałbym kolejność produktów musiałbym zmieniać ich id, a nie mam pojęcia jak to zrobić. A jak nie sortować po id to po czym? i jak to zroibić aby zmieniać sobie dowolnie kolejność produktów?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 18 Dołączył: 7.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chcesz mieć możliwość zmiany pozycji wyświetlanego elementu to przydało by się dodatkowe pole w tabeli produktów, np position, później musiałbyś sobie napisać skrypt do zmiany tej pozycji. Taki skrypt może obejmować możliwość zmiany pozycji w górę/dół, przesunięcie na początek/koniec, przesunięcie +-10 itp.
-------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 2.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie Krowal o to mi chodzi ale nie mam pomysłu jak zabrac się do skryptu. Będę wdzięczny za jakieś sugestie.
----------------------- pozdr |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 54 Pomógł: 4 Dołączył: 22.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie Krowal o to mi chodzi ale nie mam pomysłu jak zabrac się do skryptu. Będę wdzięczny za jakieś sugestie. ----------------------- pozdr Stwórz sobie dodatkowe pole w bazie , przykladowo `order`, wartosc w tym polu wpisuj wg. `id` . I nastepnie podczas edytowania danego produktu daj mozliwosc ustawienia wartosci pola order i sortuj po order. Mozesz dodac dodatkowy mechanizm zamiany miejscami pozycji podczas edycji. ( Zmieniasz order w produkcie na 3, to produkt z orderem 3 ustawiasz na wartosc , ktora byla w polu zmienianym ) . Pewnie sa jakies lepsze rozwiazania, ale nie mam aktualnie glowy do myslenia. Pozdrawiam. -------------------- ...
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 2.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cytat ...Zmieniasz order w produkcie na 3, to produkt z orderem 3 ustawiasz na wartosc , ktora byla w polu zmienianym... Pomysł dobry ale co jak produktów będzie 200 i zajdzie potrzeba za 2 produkt podstawić ten z nr 169. Zamienią się miejscami i produkt 2 wyląduje na 169 miejscu (aby dać go na miejsce 3 to trzeba będzie powtarzać operację zmiany miejsca kilkaset razy)- to nie zda egzaminu przy tej ilości produktów. Może jakieś inne pomysły, a może się mylę. pozdr |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat (aby dać go na miejsce 3 to trzeba będzie powtarzać operację zmiany miejsca kilkaset razy)- to nie zda egzaminu przy tej ilości produktów. Dla mnie, to max trzy zapyania:
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 2.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Max 3 zapytania aby ten z pozycji 169 wylądował na pozycji 2. Ale potrzeba jest taka żeby ten co był na pozycji 2 nie leciał na 169 tylko przesunął się na 3, ten co był na 3 na 4 itd.
pozdr. |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
no to wtedy dla rekordów 3-168 dajesz update z position = position+1.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 2.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie widzę tego - możesz przybliżyć na przykładzie ?
Ten post edytował krzychu106 3.08.2009, 07:10:46 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
No lol... a jak masz 200000000 rekordów to im wszystkim też będziesz zmieniał pozycję ?
![]() Np. przesunięcie w górę: 1. Pobierasz rekord przesuwany i rekord następny po nim. 2. W rekordzie przesuwanym zmieniasz pozycję na pozycję następnego rekordu (tego drugiego który pobrałeś) i na odwrót 3. Zapisujesz oba rekordy. -------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
a czytałeś jego posty wyżej?
no właśnie... takie rozwiązanie jak ty podałeś już było |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 02:24 |