search.php:

<?php
    include 'incl/db.php';    // Include the database
    // Set the page, use one if the get page is not a number or is negative
    if(!isset($_GET['page']) || !ctype_digit($_GET['page']))
        $page = 1;
    else
        $page = $_GET['page'];
    // Set the maximum number of results
    $max = 10;
    // Set the start location (when viewing the next page)
    $limit = ($page * $max) - $max;
    
    $q = trim(mysql_real_escape_string($_GET['q'])); // Make a safe string
    
    // Make a query, (change "code" and "name" to your column names)
    $query = "SELECT SQL_CALC_FOUND_ROWS *,
            MATCH(code) AGAINST ('$q' IN BOOLEAN mode) AS score1,
            MATCH(name) AGAINST ('$q' IN BOOLEAN mode) AS score2
            FROM snippets 
            WHERE  
            MATCH(code,name) AGAINST ('$q' IN BOOLEAN mode) 
            ORDER BY score1 DESC, score2 DESC LIMIT $limit, $max";
    // Perform the query
    $sql = mysql_query($query);
    // Find how many results would have been returned if there wasn't a limit
    $result_count = mysql_query("SELECT FOUND_ROWS()")or die(mysql_error());
    // Get the number
    $total = mysql_fetch_array($result_count);
    // Search the array for the total
    $totalrows = $total[0];
    // Calculate the number of pages, if it is a decimal, then there are
    // more reusults, but that number is less than our $max (total number of results 
    // to display on the page)
    $pages = ceil($totalrows / $max);
    // Display the results...
    if(mysql_num_rows($sql) > 0){
        echo '<p>Found <b>'.$totalrows.'</b> results for <b>"'.htmlentities($_GET['q']).'"</b></p>';
        $i = $limit + 1;
        while($row = mysql_fetch_array($sql)){
            echo '<p>'.$i.'. <a href="view.php?id='.$row['id'].'">'.$row['name'].'</a></p>';
            $i++;
        }
    }else{
        // No results were found
        echo '<h2>No Results Found!</h2>';
    }
    // Display the page numbers (if there is more than one page)
    if($pages > 1){
        echo '<div style="padding:10px;">';
            for($i = 1;$i<$pages+1;$i++){
                if($i == $page)
                    echo '<span class="page" style="padding:10px;">'.$i.'</span>';
                else
                    echo '<a style="padding:10px;" href="'.$_SERVER['PHP_SELF'].'?q='.$_GET['q'].'&amp;page='.$i.'">'.$i.'</a>';
            }
            echo '<span style="clear:both;display:block;font-size:1px;">&nbsp;</span>';
        echo '</div>';
    }
?>

view.php:

<?php
include 'incl/db.php';    // Include the database
$id = mysql_real_escape_string($_GET['id']);
$sql = mysql_query("SELECT * FROM snippets WHERE id = '$id'");
if(mysql_num_rows($sql) == 1){
    $row = mysql_fetch_array($sql);
    echo '<h1>'.$row['name'].'</h1>';
    echo '<div>'.$row['code'].'</div>';
}
?>