26. december 2000 - 20:47Der er
17 kommentarer og 4 løsninger
Søgefunktion
Okay ... det her er nok let nok for nogle, så tag lige og hjælp, tak :-)
Jeg har en MySQL-database. Jeg vil gerne kunne søge i fx tabellen »sange«. Så skal jeg have lavet en søgefunktion, som kan finde ud af at søge på flere ord :) Så fx hvis jeg søger på »white christmas«, så finder den sange, hvor enten white eller christmas eller begge ord indgår.
jonas\' udgave kunne også laves med 1 sql, fremfor ligeså mange som det antal ord man indtaster......en lille ændring og det skulle være kørende.......
$SQL = \"SELECT * FROM tabel WHERE\"; for ($i=0;$i<sizeof($exp);$i++) { if ($i=0) $SQL.=\" et_felt like \'%$exp[$i]\'\"; else $SQL.=\" OR et_felt like \'%$exp[$i]\'\"; } $result = mysql_query($SQL); while ($row=mysql_fetch_array($result)) { echo $row[felt_der_skal_vises].\"<br>\\n\"; } ?>
Dermed kan du nøjes med en query på din DB (hvilket gør dit script hurtigere...)
Så skal det i øvrigt være: <? $soge_str = \"white christmas\"; $exp = explode(\" \",$soge_str);
$SQL = \"SELECT * FROM tabel WHERE\"; for ($i=0;$i<sizeof($exp);$i++) { if ($i=0) $SQL.=\" et_felt like \'%$exp[$i]%\'\"; else $SQL.=\" OR et_felt like \'%$exp[$i]%\'\"; } $result = mysql_query($SQL); while ($row=mysql_fetch_array($result)) { echo $row[felt_der_skal_vises].\"<br>\\n\"; } ?>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.