Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pitanje oko select, where...

[es] :: MySQL :: Pitanje oko select, where...

[ Pregleda: 2292 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.cable-3.sattrakt.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Pitanje oko select, where...21.01.2008. u 10:38 - pre 198 meseci
sorry ljudi, bolji naziv teme ne znam smisliti... ako neko zna, nek promeni.

ovako. u tabeli tekstovi, imam polje tagovi u kojem su upisani brojevi odvojeni zarezom. npr: (27,32,48...). svaki broj se moze pojaviti kod svakog teksta. kako da sklopim SELECT query koji ce mi izlistati sve zapise koji u 'tagovi' polju sadrzi broj recimo 27? ajde da bude mozda shvatljivije:

id 1
tekst foo
tagovi 2,6,12,88

id 2
tekst bar
tagovi 4,7,55

id 3
tekst dummy
tagovi 3,5,12,66

kako da izlistam zapise koji u polju 'tagovi' sadrze broj 12? inace brojeve koje upisujem su u jednom nizu, i ondak samo upisem taj niz. mozda mi je vec i tu greska, mozda trebam na neki drugi nacin da resim upis, da bi mi laksi bio ispis?

inace, dosad samo pokusavao tipa: SELECT * FROM tabela WHERE '$promenljiva' IN (tagovi) ali mi nije davalo nista.

e da. tagovi je tipa varchar, nisam znao nista pametnije da stavim. ako ima nesto bolje, recite.

thx :)

edit: blah... select * from tabela where tagovi like '%$promenljiva%'. problem resen.

[Ovu poruku je menjao kazil dana 21.01.2008. u 15:41 GMT+1]
 
Odgovor na temu

BigFoot
Boban Jovanović
Arilje

Član broj: 1098
Poruke: 991
*.dynamic.sbb.co.yu.



+35 Profil

icon Re: Pitanje oko select, where...21.01.2008. u 23:50 - pre 198 meseci
Jesi li probao sa tagovi 2,6,125,250 i tražio 25 ili tagovi 2,12,16, 62,86 i tražio 6?
Two beer or not two beer...
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.cable-3.sattrakt.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Pitanje oko select, where...22.01.2008. u 08:54 - pre 198 meseci
au vidis, nisam... znaci da moje resenje ne valja i da moj problem nije resen... damn. inace znao bih da resim sa 2 upita i php-om, ali sam mislio da resim ako je nekako moguce sa jednim upitom. ajde, ako neko ima neki predlog, bio bih mu zahvalan :)
 
Odgovor na temu

BigFoot
Boban Jovanović
Arilje

Član broj: 1098
Poruke: 991
*.dynamic.sbb.co.yu.



+35 Profil

icon Re: Pitanje oko select, where...22.01.2008. u 13:27 - pre 198 meseci
Probaj ovako:
Code:
SELECT * FROM tabela WHERE tagovi LIKE '%,$promenljiva,%' OR tagovi LIKE '$promenljiva,%' OR tagovi LIKE '%,$promenljiva'

Nije baš elegantno, ali bi trebalo da radi
Two beer or not two beer...
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.cable-3.sattrakt.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Pitanje oko select, where...22.01.2008. u 14:20 - pre 198 meseci
pa da! ogranicim se sa zarezima! big thanks BigFoot :)
 
Odgovor na temu

stsung
NS

Član broj: 12899
Poruke: 432
82.117.201.*



+2 Profil

icon Re: Pitanje oko select, where...23.01.2008. u 20:41 - pre 197 meseci
Pozd.

Ovo je zaista dosta losha ideja - shto veca tabela ovo ce raditi sve duzhe, jer ce svaki put morati da uradi fullscan. Ono shto sam samo hteo napomenuti, je da ovim upitom nije obradjena situacija ako u tagovima postoji samo jedan broj (znachi nema zareza). Ili dodati ovu varijantu u upit, ili paziti da se u polju ipak nadje zarez, iako postoji samo jedan broj.

Svako dobro.
 
Odgovor na temu

kazil
Robert Bašić
Full time PHP dev :)
Bačka Topola - Novi Sad

Član broj: 120044
Poruke: 686
*.cable-3.sattrakt.net.

Jabber: robertbasic@elitesecurity.org
ICQ: 446475288
Sajt: robertbasic.com


+2 Profil

icon Re: Pitanje oko select, where...24.01.2008. u 15:47 - pre 197 meseci
Pocinje sve manje da mi se svidja ova moja ideja.

Ovako: u prvoj tabeli, 'tagovi', imam id_tag, tag, broj_klikova (to polje je nebitno sada). U drugoj tabeli, 'tekstovi', (opet ne bitno izostavljam), polja: id_tekst, tekst, tagovi.

id-ovi su auto-increment u obe tabele, naravno. u tekstovi.tagovi stavljam id brojeve tagova. Stavljam ih kao string, brojevi su medjusobno odvojeni zarezima (1,3,5,12...). Ocigledno, nije najbolje resenje. Pokusavao sam sa uvodjenjem trece tabele, 'tag_tekst', koja ima 3 polja: id, id_tag, id_tekst. Mislio sam tu da odradim povezivanje tagova i tekstova. To mi je bilo prvo resenje celog problema, samo sam od njega relativno brzo odustao, jer, ukoliko trebam da promenim neki zapis (za id_tekst=6 treba id_tag=5 a ne id_tag=4), cinio mi se komplikovanim taj update (ne znam zasto, u tom trenutku mi je izgledalo komplikovano). Imate neki predlog kako da odradim ovo? Da se vratim na resenje sa tri tabele, da ostanem na trenutnom, ili imate neki bolji predlog za mene?

thx :)
 
Odgovor na temu

[es] :: MySQL :: Pitanje oko select, where...

[ Pregleda: 2292 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.