01. marts 2007 - 13:46Der er
2 kommentarer og 1 løsning
query med wildcard først eller sidst
Jeg vil gerne have min query til at de forekomster, hvor $p_search_item står enten først ELLER sidst i et ord. Hvordan gør jeg det? hvis jeg sætter et wildcard på hver side, bliver de forekomster hvor den står i midten af et ord også valgt, og det skal de ikke.
$query .= " AND (product_name LIKE '".$p_search_item."%' OR brand_owner LIKE '".$p_search_item."%' OR brand_name LIKE '".$p_search_item."%')";
$query .= " AND (product_name LIKE '".$p_search_item."%' OR brand_owner LIKE '".$p_search_item."%' OR brand_name LIKE '".$p_search_item."%' or product_name LIKE '%".$p_search_item."' OR brand_owner LIKE '%".$p_search_item."' OR brand_name LIKE '%".$p_search_item."')";
Bemærk at du mister brugbarheden af dine index på de kolonner som du søger med like '%xxx%' på.
Eks. where `kolonne` like 'test%' bruger index'et på `kolonne`
where `kolonne` like '%test' (og '%test%') bruger ikke index'et på `kolonne`.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.