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

Kako da uraim pregragu baze?

[es] :: PHP :: Kako da uraim pregragu baze?

[ Pregleda: 4383 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

NenadS
Nenad Strainovic
Beograd

Član broj: 857
Poruke: 910
*.InfoSky.Net

Sajt: www.strainovic.com


+7 Profil

icon Kako da uraim pregragu baze?09.07.2002. u 15:14 - pre 265 meseci
Imam bazu podataka (mysql) i sad mi treba neka jednostavna pretraga za nju, ali takva da kad ja ukucam "burek" on ce da pronadje rezultate i ako u tom polju pise "burek i jogurt".. Razumete?
Znam ono:
Code:

select nesto from baza where $ja like $rec...


tako nesto ali oglavnom se krosite sql komanda LIKE... ali ona radi samo aku onesen kompletan tekst kakav je u polju, a meni treba da unesem samo jednu rec i on da mi nadje gde je ta rec upisana.... bez obzira sto u tom polju ima vise reci...

Hitno mi treba !!!
Pozdrav, NenadS!
 
Odgovor na temu

NenadS
Nenad Strainovic
Beograd

Član broj: 857
Poruke: 910
*.InfoSky.Net

Sajt: www.strainovic.com


+7 Profil

icon Re: Kako da uraim pregragu baze?09.07.2002. u 15:23 - pre 265 meseci
Vidite da mi je hitno, pa samo u naslovu sam pogresio 2 slova koliko sam zurio... :-(

Ajd nema neko pomogne ako zna, a znam da zna :-) !
Pozdrav, NenadS!
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.verat.net



+257 Profil

icon Re: Kako da uraim pregragu baze?09.07.2002. u 15:30 - pre 265 meseci
Citat:
NenadS:
takva da kad ja ukucam "burek" on ce da pronadje rezultate i ako u tom polju pise "burek i jogurt".. Razumete?
Znam ono:
Code:

select nesto from baza where $ja like $rec...


Code:

select nesto from baza where $ja like %$rec%;

% je nesto slicno * - zamenjuje sve ispred i iza
%$rec% ce ti za rec burek pronaci polje gde se pominje "burek" i drugo polje gde se pominje "burek i jogurt"..
MOzes da koristis i regular expressions-e (uslov je mysql -V > 3.23.4), onda ti je oblika
Code:

select nesto from baza where $ja REGEXP [$rec];

(ako nisam nesto na brzinu zeznuo...)
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

NenadS
Nenad Strainovic
Beograd

Član broj: 857
Poruke: 910
*.InfoSky.Net

Sajt: www.strainovic.com


+7 Profil

icon Re: Kako da uraim pregragu baze?09.07.2002. u 16:02 - pre 265 meseci
Hvala ti brate, ovo drugo radi samo sto nisu velike zagrade nego '$rec' :-)

inace radi strava... cak nemora ni cela rec da se unese, moze samo deo reci :-)
Pozdrav, NenadS!
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.verat.net



+257 Profil

icon Re: Kako da uraim pregragu baze?09.07.2002. u 16:10 - pre 265 meseci
Citat:
NenadS:
Hvala ti brate, ovo drugo radi samo sto nisu velike zagrade nego '$rec' :-)
inace radi strava... cak nemora ni cela rec da se unese, moze samo deo reci :-)

Hm, da, pogresih na brzinu, isto ce ti i prvo raditi ako stavis ' ili " - znaci '%$rec%' ...
i naravno samo deo reci je dovoljan, jer procenat zamenjuje sve ispred i iza, ali da ti neko ne bi gledao celu bazu - moraces da ogranicis par stvari u searchu... o tom potom (mozes da pogledas kako funkcionise search na clancima na knjizara.com (ne knjigama, to je drugi)).

P.S. ne mora - NE nemora!
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.beg.sezampro.yu



Profil

icon Re: Kako da uraim pregragu baze?10.07.2002. u 00:22 - pre 265 meseci
jedna napomena samo
ako trazish '$rec%' umesto '%$rec%' to je mnogo mnogo mnogo brze. Pogotovu na vecim bazama. Postovao bih ovde statistike jedan lik shto je testirao bazu od par hiljada recorda bash da bi video kolika je razlika izmedju ova dva searcha, ali ne mogu da nadjem gde je to. Uglavnom razlika je oooogromna.

Jedini problem je shto bi ti tada nashao rech burek ili bure u zapisu burek i jogurt, ali ne bi nashao u zapisu jogurt i burek.
Tako da gledaj kada god ti je dovoljno da trazeni zapis pochinje trazenom rechju, radi samo sa jednim znakom % na kraju.
 
Odgovor na temu

vilyu
Web Developer
Beograd, Srbija

Član broj: 1188
Poruke: 444



+2 Profil

icon Re: Kako da uraim pregragu baze?13.07.2002. u 10:04 - pre 265 meseci
Jel ima negde neki provereno dobar tutorijal o SQL upitima koji se koriste u site search engine-ima, ili da trazim na Google-u? Hvala.
Pera električar 0637129710, BG, preporučujem.
 
Odgovor na temu

NenadS
Nenad Strainovic
Beograd

Član broj: 857
Poruke: 910
*.InfoSky.Net

Sajt: www.strainovic.com


+7 Profil

icon Re: Kako da uraim pregragu baze?13.07.2002. u 12:21 - pre 265 meseci
Ja koristim REGEXP i radi odlicno !
Pozdrav, NenadS!
 
Odgovor na temu

m_k
Sarajevo [BiH]

Član broj: 29364
Poruke: 340
*.ppp-01.sa.lol.ba.

Sajt: www.mkscripts.net


Profil

icon Re: Kako da uraim pregragu baze?09.01.2005. u 15:03 - pre 234 meseci
Sta predstavlja ovo $ja???
May the force be with you...
 
Odgovor na temu

NenadS
Nenad Strainovic
Beograd

Član broj: 857
Poruke: 910
195.252.80.*

Sajt: www.strainovic.com


+7 Profil

icon Re: Kako da uraim pregragu baze?09.01.2005. u 15:56 - pre 234 meseci
$ja je promenljiva koju trazim.... nju scripta uzima iz forme...
Pozdrav, NenadS!
 
Odgovor na temu

Prika

Član broj: 20692
Poruke: 43
*.neobee.net.

ICQ: 229087266


Profil

icon Re: Kako da uraim pregragu baze?09.01.2005. u 16:24 - pre 234 meseci
Pogledaj ovaj skript:
http://www.weberdev.com/get_example-1271.html

Veoma dobar search engine. Ima malih sitnica koje sam ispravio.
Npr. ne pretrazuje adekvatno kada se pre tražene reči ili između dve reči stavi nekoliko SPACE karaktera. Ako ti bude trebalo javi! Ili sam ispravi.
 
Odgovor na temu

set_X

Član broj: 32954
Poruke: 675
213.244.208.*



Profil

icon Re: Kako da uraim pregragu baze?09.01.2005. u 18:17 - pre 234 meseci
Moze li mi neko pomoci oko pretrage?

Napravio sam skriptu za dodavanje downloada.
U bazu se upisuju ime programa, link za download i komentar...

Ima 3 polja:

-ime_programa
-link_pr
-komentar

Kako sad vrsim pretragu?
Napravio sam formu sa text poljem koje vodi do pretraga.php

U pretraga.php se konektujem na mysql, selektujem bazu i sad trebam da izvrsim pretragu.
Znaci koristim ono sto sam video ovde u temi:

Code:

SELECT ime_programa, link_pr, komentar FROM downloadz WHERE $fraza (ovo je ime text polja za pretragu) REGEXP [$rec](sa cime da zamenim ovo rec?)';



I sta trebam posle toga?
Kako da prikazem rezultate?
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.vdial.verat.net.



+257 Profil

icon Re: Kako da uraim pregragu baze?10.01.2005. u 10:08 - pre 234 meseci
Pa isto kao i bilo koje prikazivanje iz baze, naravno ako ima "pogodaka", tj. ako ima ista nadjeno. Imas to ovde na forumu objasnjeno milijardu puta, a i na php-ovom sajtu, npr. pogledas dokumentaciju oko mysql-a i videces kako se radi.

Primer:
Code:

$query='SELECT ime, imeoca, prezime FROM '.$tablename;
                        $rez=mysql_query($query);
                        while ($row = mysql_fetch_object($rez))
                                {
                        echo "
                        echo $row->prezime ;echo ' ';
                        echo $row->imeoca ;echo ' ';
                        echo $row->ime ;echo '<BR>';
                                 }


Znaci ispis ide nezavisno od toga kakav ti je query. Ovde naravno mozes da dodas i uslov ispitivanja da li je mysql_num_rows >0 da bi video da li uopste nalazi nesto u bazi.

HINT: ukoliko hoces da pronadjes kao u tvom slucaju da li se javlja regexp u bilo kom od trazenih polja, onda ces morati da dodas OR "klauzulu" ili kako se to vec bese zove. Znaci nesto kao:
Code:

... WHERE ime_programa REGEXP $fraza OR link_pr REGEXP $fraza....

($fraza je kako ti rece ime tekst polja za pretragu....s tim da ukoliko ti je register_globals u podesavanjima php-a (tj. php.ini) na off, moraces umesto toga da koristis $_POST['fraza'])

Ma snaci ces se vec nekako . ako zapne vici.
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

set_X

Član broj: 32954
Poruke: 675
213.244.208.*



Profil

icon Re: Kako da uraim pregragu baze?10.01.2005. u 11:29 - pre 234 meseci
Sve mi je jasno, hvala.
 
Odgovor na temu

set_X

Član broj: 32954
Poruke: 675
213.244.208.*



Profil

icon Re: Kako da uraim pregragu baze?10.01.2005. u 12:23 - pre 234 meseci
Nesto nece da radi!

Znaci kod za pretragu:

Code:

$fr = $_POST['fraza'];
$result = mysql_query("SELECT link_pr, name_pr, desc_pr FROM psm_downloads WHERE link_pr REGEXP $fr OR link_pr REGEXP $fr OR $desc_pr REGEXP $fr");
    if (!$result) echo mysql_error();
while ($row = mysql_fetch_array($result)) {
    $linkp = $row["link_pr"];
    $namep = $row["name_pr"];
    $descp = $row["desc_pr"];
        echo "<b>- <font size='1'><a href='$linkp'>$namep</a> [$descp]</b></font><br>";
        }


I on mi izbaci mysql gresku:

Code:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'REGEXP v' at line 1


Sta da radim?
 
Odgovor na temu

alex
Aleksandar Radulovic
Senior Software Engineer, Spotify
Stockholm, Sweden

Član broj: 71
Poruke: 2194
*.in.is.

Jabber: alex@a13x.info
ICQ: -1
Sajt: www.a13x.info


+1 Profil

icon Re: Kako da uraim pregragu baze?10.01.2005. u 13:12 - pre 234 meseci
Da procitas dokumentaciju, eto sta!

Vrlo koristan link za tebe na jako korisnom sajtu!

Tema zakljucana. Buduce slicne teme ce biti obrisane.
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
 
Odgovor na temu

[es] :: PHP :: Kako da uraim pregragu baze?

[ Pregleda: 4383 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

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