Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> sortowanie
Strzałek
post 16.01.2005, 20:38:14
Post #1





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


Mam problem. Stworzyłem wyszukiwarkę części. Później dodałem do tego jeszcze mały bajer. Żeby sortowało wg. ceny i innych rzeeczy. Wszystko jest dobrze po za tym że gdzy sortuje wg. ceny mam wyniki :

1,40 PLN
107 PLN
11 PLN
110 PLN
14,20 PLN
150 PLN

kod odpowiadający za sortowanie wygląda tak:

  1. <?
  2.  if($sortBy == 'cena'){
  3. $sort = &#092;"cena\";
  4.  }elseif($sortBy == 'nazwa'){
  5. $sort = &#092;"nazwa\";
  6.  }elseif($sortBy == 'symbol'){
  7. $sort = &#092;"symbol\";
  8.  }else{
  9. $sort = 'id';
  10.  }
  11. //tutaj fetch array ...
  12. ?>


ale wydaje mi się że problem jest w bazie danych. Kolmuna w któej przechowyane są ceny jest zwykłym varchar ? Ale znów jak jest INT to nie przyjmuje ceny z przecinkiem np. 15,5. Proszę o pomoc sad.gif


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
dr_bonzo
post 16.01.2005, 20:41:46
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


1. jest chyba jeszcze typ float(czy double)
2. jesli nie ma to przechowuj cene w groszach a potem dziel przez 100 i dopisz walute


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Strzałek
post 16.01.2005, 20:52:20
Post #3





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


Cytat
1. jest chyba jeszcze typ float(czy double)


niestety ani float ani duble nie działa. A z tymi groszami - hmm, nie ma innego sposobu ? Łatwiejszego ?


--------------------
Go to the top of the page
+Quote Post
Kuziu
post 16.01.2005, 21:45:41
Post #4





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


a co jest trudnego w przechowaniu wartości 500 gr i zamianie tego na 5 zł ?

  1. <?php
  2.  
  3. $cena = $grosze/100;
  4.  
  5. ?>


Ten post edytował Kuziu 16.01.2005, 21:45:55


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
bela
post 17.01.2005, 00:26:50
Post #5


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


w niemczech w bazach systemow dla urzedow wszystkie wartości są typu int, naklada na jest poprostu na nie maska, czyli 12300 zamienia w 123,00


--------------------
Go to the top of the page
+Quote Post
lemming
post 17.01.2005, 08:43:04
Post #6





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: --
Skąd: Gdańsk

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


przed wstawieniem do bazy zamieniaj , na . (kropke) i bedzie dobrze =]
Go to the top of the page
+Quote Post
carman
post 17.01.2005, 09:21:38
Post #7





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 10.01.2005

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


panowie, za przetrzymywanie cen w bazie proponuje uzywac typu numeric(x,y).jak mozna sie domyslec x to liczba cyfr przed przecinkiem y to po przecinku.
np
dla cen
cena NUMERIC(10,2),
i po sprawie - problemow z sortowaniem zadnych.
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 - 09:51