[ weleb @ 11.05.2011. 22:51 ] @
Pozdrav, dakle radim "custome tražilicu" za jedan web (nekretnine) i riješio sam veći dio sada me samo zanima sortiranje po cijeni (od - do), problem nastaje što u polju cijena nemam "čiste brojeve" i nije standardizirano npr. negdje piše -, pa negdje na upit, 37 000 €, 37.000€, 15.000,00 €, 5 € / m2 itd

Da je standardizirano onda bi lako napravio dvije varijable (php) koje se pune iz inputa forme i između stavio between npr
Code:
BETWEEN $cijena_od AND $cijena_do

ali kako to napraviti kada imam ovakvi mix u tom polju a da je bar donekle funkcionalno?

Ukoliko sam fulao u podforumu (može ići i u php jer je tražilica sql & php) ispričavam se i hvala unaprijed

[ namesnik @ 11.05.2011. 23:32 ] @
spremis iznos regularnim izrazom pre upita.
http://www.php.net/manual/en/function.preg-match.php
[ bogdan.kecman @ 12.05.2011. 05:28 ] @
dobar je forum (za sada) :D

elem, ako hoces da iskoristis pravilno bazu da ti to indexira i da sve to ima nekog smisla za vise od jednog korisnika sajta moraces da dodas u tabelu NUMERICKO polje sa cenom. Dakle dodas vrednost koja je cena u "nekoj valuti" - recimo eur. Onda napises neki skript koji ce da ti popuni tu kolonu iz ovih postojecih polja tako sto ce da "pretpostavi" sta tamo pise, preracuna i upise u numericko polje, a za buducnost promenis u aplikaciji da odrzavas to polje popunjeno - kako god (zahtevas od klijenta da popuni ili radis prepoznavanej - tvoj problem).

Onda lepo indexiras po tom polju i radis between.

Sve ostale varijante ce "raditi", problem je sto ces u svakoj drugoj varijanti raditi full table scan kroz tu tabelu sto ce ti zabostio io na serveru i ako budes imao vise od 10 nekretnina i vise od jednog usera koji ih pretrazuje - nista od posla, imaces samo jos jedan neupotrebljivo spor sajt
[ weleb @ 13.05.2011. 20:57 ] @
Hvala, što predlažeš kako da strukturiram te cijene npr 37.000 ili 37000?

A ukoliko nemam podatak za cijenu, mogu li kako staviti na upit ali da se i ta nekretnine sa na upit uvrstim u pretragu, pada mi ovo na pamet (nisma trenutno u mogućnosti testirati);

Code:
SELECT * FROM ime_tablice WHERE polje BETWEEN $od1 AND $do OR polje LIKE 'na upit';


Ručno ću to ići riješavati jer nema puno nekretnina a baza tj polje je generirao jedan CMS tako da nije deklarirano kao striktno numerički tip podatka već može biti i text.

[ bogdan.kecman @ 14.05.2011. 01:20 ] @
dodas DODATNO polje koje je numeric ... ako je numeric int, bigint, fload, decimal .. sta vec oces onda tu nema da li ga struktuiras ovako ili onako .. broj je broj .. kako ces ga ti posle ispisivati, to je vec tvoja stvar ...

drugo - kada cms/orm i sve ostale kalakurcij3 "izgenerisu" nesto - to obicno moze da se promeni / adaptira