Moro!
Toimiiko oheinen haku php:llä?
$hakusana = array(sana1,sana2,sana3,..jne);
$query = SELECT * FROM tietokanta WHERE "teksti" LIKE '%$hakusana%'
Kuinka saan niin että haku kävisi läpi arrayssa olevat kaikki vaihtoehdot?
mietin asiaa teoriassa mutten pääse testaaman käytännössä.
Arrayssä on yli 50 sanaa joten tulee aikamoinen lause jos joutuu tekemään OR:lla näin
SELECT * FROM tietokanta WHERE "teksti" LIKE '%$hakusana1%' or WHERE "teksti" LIKE '%$hakusana2%' jne
Toimiiko oheinen haku php:llä?
$hakusana = array(sana1,sana2,sana3,..jne);
$query = SELECT * FROM tietokanta WHERE "teksti" LIKE '%$hakusana%'
Kuinka saan niin että haku kävisi läpi arrayssa olevat kaikki vaihtoehdot?
mietin asiaa teoriassa mutten pääse testaaman käytännössä.
Arrayssä on yli 50 sanaa joten tulee aikamoinen lause jos joutuu tekemään OR:lla näin
SELECT * FROM tietokanta WHERE "teksti" LIKE '%$hakusana1%' or WHERE "teksti" LIKE '%$hakusana2%' jne
Vastaukset 3
Vanhimmat
$hakusana = array(sana1,sana2,sana3,..jne);
$query = "SELECT * FROM tietokanta WHERE 'teksti' LIKE '%" . $hakusana[$i] . "%'" ";
for($i=1 ; $i < count($hakusana); $i++ )
{
$query .= "OR 'teksti' LIKE '%" . $hakusana[$i] . "%'"
}
Tuon pitäisi muodostaa valmis lauseke jonka syntaksi on suurinpiirtein oikein. Vai siis haittaako jotain jos lausekkeesta tulee pitkä?
kiitos, tuota voisi testata huomenna kunhan pääsen koneen ääreen. Eihän se periaatteessa haittaa vaikka lauseet on pitkiä mutta tuosta perus-OR-versiosta tulisi varmaan 3 metriä ja täytyy pikkuhiljaa opetella käyttämään vähän hienompaa koodia. tärkeintä tietenkin että toimii, olipa koodi mitä sotkua hyvänsä :)
Itse asiaasa en tiennytkään että tuohon query-lauseeseen voi tehdä looppeja ym. juttuja sisään. Nyt toimii hakukone monisanahaulla yms.