DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > SQL baze podataka - Sponzor: Baze-Podataka.net
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka

Odgovori
 
Alati teme Način prikaza
Staro 08. 06. 2011.   #21
martinluter
profesionalac
Qualified
 
Datum učlanjenja: 02.05.2009
Poruke: 193
Hvala: 27
8 "Hvala" u 6 poruka
martinluter is on a distinguished road
Default

Citat:
Originalno napisao webarto Pogledajte poruku
Kôd:
SELECT id FROM objekti WHERE opis LIKE '%apartmaji maja%'
SELECT id FROM objekti WHERE MATCH (opis) AGAINST ('+apartmaji +maja');
Kako si ti upisao taj LIKE? Ne bi trebao da vraća...

Postavi sve SQL upite...

www.slovenijaturizem.com/testing.php koriscen je REGEXP
www.slovenijaturizem.com/testing1.php koriscen je LIKE
www.slovenijaturizem.com/testing2.php koriscen je FULL TEXT

PHP kôd:
$br_rez=mysql_num_rows(mysql_query("SELECT * FROM objekti WHERE akt='Y' AND (naslov REGEXP '[[:<:]]apartmaji[[:>:]]' OR opis REGEXP '[[:<:]]apartmaji[[:>:]]' )  AND (naslov REGEXP '[[:<:]]maja[[:>:]]' OR opis REGEXP '[[:<:]]maja[[:>:]]' )"));

$br_rez=mysql_num_rows(mysql_query("SELECT * FROM objekti WHERE akt='Y'  AND (naslov LIKE '%apartmaji%' OR opis LIKE '%apartmaji%')  AND (naslov LIKE '%maja%' OR opis LIKE '%maja%')"));

$br_rez=mysql_num_rows(mysql_query("SELECT * FROM objekti WHERE MATCH(opis) AGAINST('+apartmaji +maja')")); 

Poslednja izmena od martinluter : 08. 06. 2011. u 12:29.
martinluter je offline   Odgovorite uz citat
Staro 08. 06. 2011.   #22
webarto
expert
Grand Master
 
Avatar webarto
 
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
webarto is on a distinguished roadwebarto is on a distinguished roadwebarto is on a distinguished roadwebarto is on a distinguished roadwebarto is on a distinguished roadwebarto is on a distinguished roadwebarto is on a distinguished roadwebarto is on a distinguished road
Default

Pa probaj ovako za naslov i opis, kako si ti postavio to je sasvim normalno što se dešava...
PHP kôd:
SELECT id FROM objekti WHERE opis LIKE '%apartmaji%maja%' 
"naslov" je VARCHAR a FULLTEXT radi samo na TEXT, je li... Ukombinuj FULLTEXT i LIKE i to će ti biti riješenje.

Poslednja izmena od webarto : 08. 06. 2011. u 16:19.
webarto je offline   Odgovorite uz citat
"Hvala" webarto za poruku:
Staro 08. 06. 2011.   #23
martinluter
profesionalac
Qualified
 
Datum učlanjenja: 02.05.2009
Poruke: 193
Hvala: 27
8 "Hvala" u 6 poruka
martinluter is on a distinguished road
Default

Citat:
Originalno napisao webarto Pogledajte poruku
Pa probaj ovako za naslov i opis, kako si ti postavio to je sasvim normalno što se dešava...
PHP kôd:
SELECT id FROM objekti WHERE opis LIKE '%apartmaji%maja%' 
"naslov" je VARCHAR a FULLTEXT radi samo na TEXT, je li... Ukombinuj FULLTEXT i LIKE i to će ti biti riješenje.
Pa tako ti je to kad ne poznajem materiju u potpunosti, ucim iz primera i gresaka, jer mi je nepoznavanje egleskog velika muka, onda se postavljaju i ovakva pitanja.
HVala svima kojii su ucestvovali u temi!
martinluter je offline   Odgovorite uz citat
Staro 08. 06. 2011.   #24
dinke
Super Moderator
Invented the damn thing
 
Avatar dinke
 
Datum učlanjenja: 06.06.2005
Poruke: 2.371
Hvala: 370
701 "Hvala" u 194 poruka
dinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamendinke je pravi dragi kamen
Default

^Imas Full Text Searches tutorijal na mom blogu na srpskom:

http://www.dinke.net/blog/2006/01/20...text-searches/

Generalno za ovo sto tebi treba potpuno je pogresno koristiti i like i regexp iz jednostavnog razloga jer nije moguce koristiti indexe, tako da ce sa malo vecim setom podataka biti veoma sporo.
__________________
Caught in a Web|Blogodak
With great power comes great responsibility!
dinke je offline   Odgovorite uz citat
Staro 08. 06. 2011.   #25
martinluter
profesionalac
Qualified
 
Datum učlanjenja: 02.05.2009
Poruke: 193
Hvala: 27
8 "Hvala" u 6 poruka
martinluter is on a distinguished road
Default

Citat:
Originalno napisao dinke Pogledajte poruku
^Imas Full Text Searches tutorijal na mom blogu na srpskom:

http://www.dinke.net/blog/2006/01/20...text-searches/

Generalno za ovo sto tebi treba potpuno je pogresno koristiti i like i regexp iz jednostavnog razloga jer nije moguce koristiti indexe, tako da ce sa malo vecim setom podataka biti veoma sporo.
Hvala puno Dinke za ovaj link!

Videcu da ubacim kod pretrage teksta FULL TETXT, a za Varchar da bude LIKE.
martinluter je offline   Odgovorite uz citat
Staro 08. 06. 2011.   #26
webarto
expert
Grand Master
 
Avatar webarto
 
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
webarto is on a distinguished roadwebarto is on a distinguished roadwebarto is on a distinguished roadwebarto is on a distinguished roadwebarto is on a distinguished roadwebarto is on a distinguished roadwebarto is on a distinguished roadwebarto is on a distinguished road
Default

Uradi ovo jednom...

PHP kôd:
ALTER TABLE  `objektiADD FULLTEXT (`naslov`); 
I ovaj query probaj za pretrage...

PHP kôd:
SELECT id FROM objekti WHERE MATCH (opis,naslovAGAINST ('+apartmaji +maja'); 
Ja sam zaboravio da FULLTEXT može i na VARCHAR

Kada koristiš LIKE '%nesto%', onda je nije to to, a LIKE 'nesto%' može proći, ali opet nije to to što se tiče pretrage, znači FULLTEXT.

Edit:

Nisam siguran da ćeš moći ovako kako sam gore napisao. Pa probaj i ovako onda...

PHP kôd:
SELECT id FROM objekti WHERE MATCH (naslovAGAINST ('+paradoks +maja') AND MATCH (opisAGAINST ('+paradoks +maja'

Poslednja izmena od webarto : 08. 06. 2011. u 20:43.
webarto je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum


Vreme je GMT +2. Trenutno vreme je 10:53.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.