pagination hook doesn’t work with search results

I think your problem with pagination. Use this code and css.

<?php
function pagination($pages="", $range = 4)
{
     $showitems = ($range * 2)+1; 

     global $paged;
     if(empty($paged)) $paged = 1;

     if($pages == '')
     {
         global $wp_query;
         $pages = $wp_query->max_num_pages;
         if(!$pages)
         {
             $pages = 1;
         }
     }  

     if(1 != $pages)
     {
         echo "<div class=\"pagination clearfix\">";
         if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href="".get_pagenum_link(1)."">&laquo;</a>";
         if($paged > 1 && $showitems < $pages) echo "<a href="".get_pagenum_link($paged - 1)."">&lsaquo;</a>";

         for ($i=1; $i <= $pages; $i++)
         {
             if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
             {
                 echo ($paged == $i)? "<span class=\"current\">".$i."</span>":"<a href="".get_pagenum_link($i)."" class=\"inactive\">".$i."</a>";
             }
         }

         if ($paged < $pages && $showitems < $pages) echo "<a href=\"".get_pagenum_link($paged + 1)."\">&rsaquo;</a>";
         if ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) echo "<a href="".get_pagenum_link($pages)."">&raquo;</a>";
         echo "</div>\n";
     }
}
?>

And CSS

.pagination{font-family:Arial, Helvetica, sans-serif;margin-bottom:20px;}
.pagination a,
.pagination span{line-height:30px;height:30px;width:30px;text-align:center;margin-right:5px;display:block;float:left;background:#FFF;color:#666;border-bottom:1px solid #cdcdcd;border-right:1px solid #cdcdcd;}
.pagination a:hover,
.pagination span.current{text-decoration:none;color:#FFF;background:#333;}

Usage ()

<?php if (function_exists("pagination")) { pagination(); } ?>