Logo
Database Search
Online Now: 1

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Snippets Functions Classes

Home | PHP Resources | MySQL Zipbase | Forums

Snippet Code
Searh a database, and sort the results using page numbering to split up the data.

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>';
}
?>
 
Snippet Comments

Add Your Comment

ed
2009-06-04 00:00:00
Great code, but the file 'view.php' would come in real handy

Add Your Comment

 
Snippet Tools
Rate this Snippet:

Rate the difficulty level:

Request Snippet Update


Suggested Difficulty Level: Professional
Current Score: 3.33
Total votes: 3
Total Views: 2019

Other top snippets by admin:

1. JPG to ASCII Converter
2. Add (th, st, nd, rd, th) to the end of a number
3. Dynamic Page Content From Links
4. AJAX Quickie
5. Simple Image CAPTCHA

Search

Input key terms:
User Panel

User name:

Password:

Register And Post Your Own Snippets

Snippets On Watch

1.  Auth Class with (2.83 of 87)

2.  Test Please Delete (2.83 of 30)

3.  Return all repeated (3.64 of 72)

4.  Convert an integer (3.3 of 71)

5.  URL Shortening for (2.75 of 52)

6.  Monthly Content Sorting (3 of 45)

7.  Show String Trimmed (2.97 of 65)

8.  Human readable file (2.01 of 70)

9.  Randomize array values (2.8 of 82)

10.  Create a recursive (3.35 of 55)

New Snippets

1.  Parse RFC822 date (4 of 1)

2.  Dynamic Image Uploading (5 of 1)

3.  Spam Filter (0 of 0)

4.  Is Multiple (0 of 0)

5.  Base64 Encode / (0 of 0)

6.  URL Encode / (0 of 0)

7.  temp openbills (0 of 0)

8.  Php Iban Validator (0 of 0)

9.  Mysql Table Builder (0 of 0)

10.  File size of (1.75 of 4)

11.  Mail from your (1 of 1)

12.  OddEven Class (0 of 0)

13.  Detect if a (1 of 1)

14.  MB CopyMCF-DIR :: (5 of 1)

15.  Upper/Lower Case Accented (0 of 0)

16.  Zodiac Signs (3 of 1)

17.  Really useful code (2.5 of 2)

18.  Calculate Central European (0 of 0)

19.  Email Attachment (4 of 1)

20.  ImageMagick Image Upload (0 of 0)

21.  convert plain html (2 of 2)

22.  Tag Builder (3.25 of 4)

23.  Get Inserted ID (4.33 of 3)

24.  Watermark An Image (3.33 of 3)

25.  Check Prime Numbers (1.5 of 8)

Home | Forum | Free PHP Web Hosting | Contact | Terms & Conditions |  
Donate
PHPSnips.com - ©2010