Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Sortowanie liczb i znaków
wree
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 2
Dołączył: 2.08.2008

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


Witam,

Mam taki problem, pobieram przy sortowaniu, jeżeli ustawie alfabetycznie DESC z bazy to sortuje numery w ten sposób:

przykład 7
przykład 6
przykład 5
przykład 4
przykład 3
przykład 2
przykład 12
przykład 11
przykład 1

w tym że 2 jest mniejsze od 12, więc 12 powinno być wyżej. Jak zmienić by sortowało właściwie? ustawia się to gdzieś w php.ini? Jak to zrobić? Wiem, że można dodać zero na początku pojedynczych liczb to będzie ok, ale nie chce zer na początku, chce mieć listę w ten sposób ale by sortowanie było ok. Dlaczego w ogóle sortuje w taki sposób?

Pozdrawiam.

ps. chodzi mi o sortowanie po tytule w bazie, nie mam możliwości ustawienia int na liczbie bo jest razem z tytułem, każdy tytuł kończy się liczbą.

Ten post edytował wree 5.12.2012, 18:13:27
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




To wkońcu sortujesz to na poziomie bazy czy php? Bo raz piszesz o bazie a raz o php. Zdecyduj się: albo to, albo tamto
Go to the top of the page
+Quote Post
wree
post
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 2
Dołączył: 2.08.2008

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


pobieram z bazy dane, ale jak się nie da tego w mysqlu to mogę jakoś zmodyfikować w php tylko nie wiem jak to zrobić. Wolałbym na poziomie mysql-a to zrobić.

Ten post edytował wree 5.12.2012, 18:07:32
Go to the top of the page
+Quote Post
JoShiMa
post
Post #4





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Chodzi Ci o natsort()
Go to the top of the page
+Quote Post
wree
post
Post #5





Grupa: Zarejestrowani
Postów: 48
Pomógł: 2
Dołączył: 2.08.2008

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


dzięki JoShiMa, za naprowadzenie, dla php jest ok, jednak okazało się że potrzebuję to wyłącznie w zapytaniu z bazy mysql, szukałem w sieci przez kilka godzin ale nic sensownego nie znalazłem, udało się tylko gdy na początku są liczby a nie w środku zdania tak jak ja potrzebuje czyli takie natsort dla mysql dla:

Dział 1 Poddział 1 - Wprowadzenie
Dział 1 Poddział 2 - Start
Dział 1 Poddział 3 - Podtytuł
Dział 1 Poddział 12 - Podtytuł 2
Dział 1 Poddział 13 - Zakończenie
Dział 2 Poddział 1 - Wprowadzenie
Dział 2 Poddział 5 - Podtytuł
Dział 2 Poddział 15 - Podtytuł 2

jak to zrobić tylko w zapytaniem z bazy?
Go to the top of the page
+Quote Post
JoShiMa
post
Post #6





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Cytat(wree @ 6.12.2012, 01:49:57 ) *
dzięki JoShiMa, za naprowadzenie, dla php jest ok, jednak okazało się że potrzebuję to wyłącznie w zapytaniu z bazy mysql, szukałem w sieci przez kilka godzin ale nic sensownego nie znalazłem, udało się tylko gdy na początku są liczby a nie w środku zdania tak jak ja potrzebuje czyli takie natsort dla mysql dla:

Dział 1 Poddział 1 - Wprowadzenie
Dział 1 Poddział 2 - Start
Dział 1 Poddział 3 - Podtytuł
Dział 1 Poddział 12 - Podtytuł 2
Dział 1 Poddział 13 - Zakończenie
Dział 2 Poddział 1 - Wprowadzenie
Dział 2 Poddział 5 - Podtytuł
Dział 2 Poddział 15 - Podtytuł 2

jak to zrobić tylko w zapytaniem z bazy?


Ja po prostu inaczej zorganizowałabym tabelę (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 23.08.2025 - 15:34