I used following code:
Ex:
Expand|Select|Wrap|Line Numbers
- $search_text = "Nintendo DS Lite Pink";
- $kt=split(" ",$search_text);//Breaking the string to array of words
- // Now let us generate the sql
- while(list($key,$val)=each($kt))
- {
- if($val<>" " and strlen($val) > 0)
- {
- $q .= " name like '%$val%' or ";
- }
- }// end of while
- //Remove the last 'OR'
- $q=substr($q,0,(strlen($q)-3));
Than the $q would be:
Expand|Select|Wrap|Line Numbers
- SELECT * FROM `products`
- WHERE
- name like '%Nintendo%' or
- name like '%DS%' or
- name like '%Lite%' or
- name like '%Pink%'
And i am getting Mysql Output given below:
1) Activity Meter - DS.
2) Nintendo DS Red.
3) Nintendo DS Lite Pink.
4) Nintendo DS Lite Turquoise.
But the third result is most accurate/relevant then first two result.
Please help me out to get the most accurate row first then the relevant rows as per their relevancy with search term "$search_text"
Many Thanks in Advance.