When I search a word “apple” the script is showing the result in the following order:
(1) appletree
(2) juiceapple
(3) apple
But I want to reorder the search result in the following order:
(1) apple
(2) appletree
(3) juiceapple
As you can see the above order is exactly what I want in which the result is showing according to the searched term which was “apple”
//get date
$button = $_GET['submit'];
$search = $_GET['search'];
if (!$button)
echo "Please fill out the form";
else
{
if (strlen($search)<=2)
echo "The item you searched for was to small";
else
{
echo "You searched for <b>$search</b> <hr size='1'>";
//connect to database
mysql_connect('localhost','wnumber','passowrd');
mysql_select_db('wnumber');
//explode search term
$search_exploded = explode(" ",$search);
foreach($search_exploded as $search_each)
{
$str = mysql_real_escape_string(substr($search_each, 0, 4));
//construct query
$x++;
if ($x==1) $construct .= "keywords LIKE '$str%'";
else $construct .= " OR keywords LIKE '$str%'";
}
//echo out construct
$construct = "SELECT * FROM word WHERE $construct";
$run = mysql_query($construct);
$foundnum = mysql_num_rows($run);
if ($foundnum==0)
echo "No results found.";
else
{
echo "$foundnum results found.<p><hr size='1'>";
while ($runrows = mysql_fetch_assoc($run))
{
//get data
$meaning = $runrows['meaning'];
$keywords = $runrows['keywords'];
echo "<b>$keywords</b><br>
<b>$meaning</b><br>
}
}
}
}
Other than Ascending if your concern about the length means try
LENGTH()