PHP Classes

Report: Show MySQL results in pages updated using AJAX

Recommend this page to a friend!
  Info   View files View files (16)   DownloadInstall with Composer Download .zip   Reputation   Support forum (3)   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStar 47%Total: 1,118 All time: 3,363 This week: 135Up
Version License PHP version Categories
blue-report-class 1.0GNU General Publi...3.0HTML, Databases
Description 

Author

This class can be used to show MySQL query results in pages with browse links updated using AJAX to avoid page reloading.

It can execute a given MySQL query and display the results in an HTML table.

The table may have headers with links that sort the results when they are clicked.

The listing may also be split in multiple pages with a limited number of result rows. Pagination links are display to let the user browse other query result pages.

AJAX requests are sent to retrieve new pages of results when either the sorting or pagination links are clicked to avoid full page reloading.

Picture of kai
Name: kai <contact>
Classes: 2 packages by
Country: South Africa South Africa
Age: ???
All time rank: 116111 in South Africa South Africa
Week rank: 312 Up4 in South Africa South Africa Up

Details

Please run testData.sql against a database and change the example files to point to that database to view the examples. 1 CONSTRUCTION call __Construct($query,$interval) to create the report with the query you want and the number of records on a page or __Construct($query) with all records on the page or __Construct($query,"",$order,$direction) __Construct($query,$interval,$order,$direction) to order your report by default on a column $query is the mysql query the class will use to generate your report $order is the name of a column in the database you want to order by $direction can be ASC or DESC 2 ADDING FIELDS TO THE REPORT 2.1 adding a normal field call addDisplayField($name,$display,$sizeOfField) or addDisplayField($name,$display) $name is the name of the field in the databases and must be in the query you constructed with $display is the heading of the field displayed to the user $sizeOfField is the minimum width or the table column for this field 2.2 adding a special field here you can create a field with special attributes, eg. a link field or running javascripts on the field call addSpecialDisplayField($name,$display,$text,$sizeOfField=50) or addSpecialDisplayField($name,$display,$text,$sizeOfField=50) $name is the name of the field in the database. this is only used for sorting purposes. if the user sorts on this field this field in the database will be used. $display is the heading of the field displayed to the user $text this is the special text that will be used as the field, anything in {} will be replaced by a field in the database eg. if name is a field in the database use <a href="javascript:alert('you clicked on {name}')">{name}</a> $sizeOfField is the minimum width or the table column for this field 3 ENABLING AJAX This allows the report to refreshes its data, when a link is clicked on the navigation bar, or when sorting on a column, without refreshing the entire page. (Not recommended for pages that requires search engine friendliness) call enableAjax($database_host,$database_user,$database_password,$database_name) the database details is required when data is refreshed 4 SETTING THE LOOK AND FEEL all the following methods are optional enableNavigationalNumbers($variance) call to show page numbers on the navigation that can be used as links $variance is the number of pages shown from the current page in both directions setAjaxLoadingText($text) The text that displays while data is refreshed with ajax getNumberOfResultsSelectorGoLink($text) getNumberOfResultsPerPageSelector($interval,$maximum) these should be used together getNumberOfResultsSelectorGoLink gets a selector for the user to select the number of records he wants per page getNumberOfResultsPerPageSelector gets a link to click to refresh the data according to the above selection $text will be displayed as the link $interval in the selection every <$interval>the number will be displayed eg $interval=10 then 10,20,30 will be the options $maximum the maximum number of records the user can choose from. setLeftImage($loc) Call to set an image to be used as the "previous page" link setRightImage($loc) Call to set an image to be used as the "next page" link setLeftJumpImage($loc) Call to set an image to be used as the "first page" link setRightJumpImage($loc) Call to set an image to be used as the "last page" link setLeftText($text) Call to set text to be used as the "previous page" link setRightText($text) Call to set text to be used as the "next page" link function setLeftJumpText($text) Call to set text to be used as the "first page" link setRightJumpText($text) Call to set text to be used as the "last page" link setSortASCPicture($loc) Call to set an image displayed with a column heading when that column is sorted ascending setSortDESCPicture($loc) Call to set an image displayed with a column heading when that column is sorted descending setTableClassName($name) sets the css-class of the table that contains the data setNavigationTableClassName($name) sets the css-class of the table that contains the navigation links setSortLinkClassName($name) sets the css-class of a link that orders the data on a column setNavigationLinkClass($name) sets the css-class of the navigation links

  Files folder image Files  
File Role Description
Plain text file report.php Class main class
Accessible without login Plain text file AjaxExample.php Example example
Accessible without login Plain text file AjaxExampleNoNavigation.php Example example
Accessible without login Plain text file AjaxExampleNoNavigationPages.php Example example
Accessible without login Plain text file AjaxExampleNoNavig...ResultsSelector.php Example example
Accessible without login Plain text file AjaxExampleWithNum...ResultsSelector.php Example example
Accessible without login Plain text file Description.txt Data description
Accessible without login Plain text file normalExample.php Example example
Accessible without login Plain text file normalExampleNoNavigation.php Example example
Accessible without login Plain text file NormalExampleNoNavigationPages.php Example example
Accessible without login Plain text file NormalExampleNoNav...ResultsSelector.php Example example
Accessible without login Plain text file NormalExampleWIthN...ResultsSelector.php Example example
Accessible without login Plain text file Readme.txt Doc. readme
Accessible without login Image file sortdown.png Icon for example pages
Accessible without login Image file sortup.png Icon for example pages
Accessible without login Plain text file testData.sql Data example data

 Version Control Unique User Downloads Download Rankings  
 0%
Total:1,118
This week:0
All time:3,363
This week:135Up
User Ratings User Comments (1)
 All time
Utility:58%StarStarStar
Consistency:50%StarStarStar
Documentation:75%StarStarStarStar
Examples:58%StarStarStar
Tests:-
Videos:-
Overall:47%StarStarStar
Rank:3004
 
Not so great.
13 years ago (Hariram)
30%StarStar