rondog Posted December 7, 2010 Share Posted December 7, 2010 I have a search going on: <?php $sql = "SELECT * FROM video WHERE MATCH(name,description,location,keywords) AGAINST('" . mysql_real_escape_string($_POST['searchfield']) . "' IN BOOLEAN MODE)"; ?> I have rows that contain either "fort worth" or "fort collins" for example. When I search "fort worth" it finds all the rows including the fort collins rows. That is expected as it contains "fort". The issue is "fort collins" is showing up before "fort worth" What can I do fix this? If I take out the "IN BOOLEAN MODE" part then it works, but breaks other parts of my search Link to comment https://forums.phpfreaks.com/topic/220973-searching-fort-worth-vs-fort-collins/ Share on other sites More sharing options...
requinix Posted December 8, 2010 Share Posted December 8, 2010 Add an ORDER BY using the exact same MATCH/AGAINST clause (but without the IN BOOLEAN MODE). Descending order. Link to comment https://forums.phpfreaks.com/topic/220973-searching-fort-worth-vs-fort-collins/#findComment-1144240 Share on other sites More sharing options...
rondog Posted December 8, 2010 Author Share Posted December 8, 2010 Add an ORDER BY using the exact same MATCH/AGAINST clause (but without the IN BOOLEAN MODE). Descending order. That worked dude, thank you! Link to comment https://forums.phpfreaks.com/topic/220973-searching-fort-worth-vs-fort-collins/#findComment-1144542 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.