Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> sortowanie pola Varchar
peterlan
post 2.05.2013, 09:37:08
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.10.2012

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


Witam, czy moglby mi ktos pomoc jak posortowac pole typu Varchar w php?

mam taki zapis:

  1. $result=mysql_query("SELECT * FROM uhren ".$is_cat." ORDER BY preis ASC");


ale przeczytalem ze nie sortuje mi sie to dlatego ze nie dziala sortowanie jako Varchar?
Nie chce zmieniac typu np na int, bo obawiam sie ze moge namieszac.
Go to the top of the page
+Quote Post
CzarnyGsm
post 2.05.2013, 09:48:28
Post #2





Grupa: Zarejestrowani
Postów: 84
Pomógł: 2
Dołączył: 16.04.2007

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


Mógłbyś wkleić dokładny komunikat błędu jaki dostajesz bo wydaje się to dziwne. Wielokrotnie sortowałem pole typu varchar.
Go to the top of the page
+Quote Post
peterlan
post 2.05.2013, 09:50:48
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.10.2012

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


tz nie sortuje mi dobrze cen, jakby faktycznie z typem danych byl problem,

ale znalazlem informacje ze do konwersji jest funkcja

  1. CAST()


zmienilem kod w ten sposob

  1. $result=mysql_query("SELECT * FROM uhren ".$is_cat." ORDER BY CAST (preis BY ASC)");


tylko ze ja sie nie za bardzo orientuje w php
Go to the top of the page
+Quote Post
nospor
post 2.05.2013, 09:54:21
Post #4





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




To nie jest php a mysql... tam też przenoszę. Rozróżniaj te dwie rzeczy.
Co do cen: ceny do liczby a nie teksty i mają być polem liczbowym a nie tekstowym


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
peterlan
post 2.05.2013, 09:56:15
Post #5





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 25.10.2012

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


a moge to w mysql zmienic na pole INT?

czy moze z tego wyniknac jakis blad?
Go to the top of the page
+Quote Post
nospor
post 2.05.2013, 10:02:46
Post #6





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




Zalezy jakie to są ceny.... jesli to są ceny po przecinku, to musisz zamienic na DOUBLE. Jeśli nie, to INT będzie ok

ps: Ty chyba nie masz zamiaru tego robić od razu na serwerze produkcyjnym?
Powód edycji: [nospor]:


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post 2.05.2013, 10:19:39
Post #7





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Zawsze w takich przypadkach trzeba sobie zadać pytanie czy nie nastąpi błędne zaokrąglenie. Możesz trzymać oddzielnie precyzję i wartość.


--------------------
Go to the top of the page
+Quote Post
Crozin
post 2.05.2013, 10:25:53
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@nospor: DOUBLE do przechowywania ceny? Nie, nie... w tym przypadku należy skorzystać z typu DECIMAL: http://stackoverflow.com/questions/3730019...resent-currency
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:37