[ [Unknown] @ 14.01.2006. 23:21 ] @
Pozdrav!

Nešto petljam s PHP-om i MySQL-om, početnik sam pa samo probavam...

Imam u jednom fajlu

Code:

<form name="forma" method="post" action="trazi.php">
<input type="text" name="pretraga">
<input type="submit" value="Pretrazi">


a u fajlu trazi.php je ovo:

Code:

<?php 
include("konekcija.php");
$pretraga=$_POST[pretraga];
$rezultat = mysql_query("SELECT * FROM tablica WHERE tekstovi LIKE '%".$pretraga."%'"); 
while($red = mysql_fetch_array($rezultat)) 
{
echo "$red[tekstovi] <br>";    
}
?>


Ova pretraga radi ako je je upisana samo jedna rijec, ali ako se upišu dvije riječi ne daje nikakve rezultate. Kako da razdvojim te riječi... kako uopće napraviti da pretraga sa dvije ili više riječi funkcionira?

Hvala!
[ bojan_bozovic @ 15.01.2006. 07:40 ] @
<?php
include("konekcija.php");
$pretraga=addslashes($_POST["pretraga"]); // Sprecava SQL Injection!!!
$reci=explode(" ",$pretraga);
foreach($reci as $queryarg)
{
$query="SELECT * FROM tablica WHERE tekstovi LIKE '".$queryarg."'";
$rezultat=mysql_query($query);
while ($red=mysql_fetch_array($result, MYSQL_BOTH)){
echo "$red["tekstovi"] <br>";
}
}
?>


[Ovu poruku je menjao bojan_bozovic dana 15.01.2006. u 11:07 GMT+1]
[ [Unknown] @ 15.01.2006. 11:56 ] @
E puno hvala, to je vec puno bolje... ali mi daje rezultate samo ako ako su u rečenici te dvije rijeci jedna pored druge, jel bi se moglo kak napravit da svaku zasebno pretrazi i da ne bude bas tocno ono što je upisano. Evo primjera sto me muci...

koliko mi je poznato mysql ne pretrazuje ako rijec ima samo 2 ili 3 slova...a ako ja ovdje upisem: photoshop cs, ne izbaci mi nikakve rezultate. Tako da bi htio da mi zasebno pretrazi neke rijeci, da ne moraju obadvije bit u rezultatu nego moze bit i samo jedna od upisanih
[ bojan_bozovic @ 15.01.2006. 12:04 ] @
Napises sopstvenu bazu reci za koje ti treba konverzija (recimo "photoshop cs" u "photoshop") i koristis str_replace http://www.php.net/str_replace na celom nizu, a baza ti je ili includeovana ili je cupas iz baze. Mozda je bolje da koristis str_ireplace http://www.php.net/str_ireplace za case-insensitive menjenje reci (npr "PhotoShop CS" u "photoshop")

[Ovu poruku je menjao bojan_bozovic dana 15.01.2006. u 13:06 GMT+1]
[ [Unknown] @ 15.01.2006. 12:13 ] @
Ok, hvala na odgovorima