Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: sortowanie
Forum PHP.pl > Forum > PHP
Strzałek
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
dr_bonzo
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
Strzałek
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 ?
Kuziu
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. ?>
bela
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
lemming
przed wstawieniem do bazy zamieniaj , na . (kropke) i bedzie dobrze =]
carman
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.
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.