1
0
mirror of https://github.com/DataTables/DataTables.git synced 2025-03-15 16:29:16 +01:00

Examples: Update demo SSP PHP code

This commit is contained in:
Allan Jardine 2012-02-24 06:55:44 +00:00
parent 872dc0db3e
commit aa0ff53ee5
2 changed files with 26 additions and 30 deletions

View File

@ -82,12 +82,6 @@
<h1>Server side (PHP) code</h1> <h1>Server side (PHP) code</h1>
<pre>&lt;?php <pre>&lt;?php
/*
* Script: DataTables server-side script for PHP and MySQL
* Copyright: 2010 - Allan Jardine
* License: GPL v2 or BSD (3-point)
*/
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Easy set variables * Easy set variables
*/ */
@ -109,6 +103,9 @@
$gaSql['db'] = ""; $gaSql['db'] = "";
$gaSql['server'] = "localhost"; $gaSql['server'] = "localhost";
/* REMOVE THIS LINE (it just includes my SQL connection user/pass) */
include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* If you just want to use the basic configuration for DataTables with PHP server-side, there is * If you just want to use the basic configuration for DataTables with PHP server-side, there is
@ -139,6 +136,7 @@
/* /*
* Ordering * Ordering
*/ */
$sOrder = "";
if ( isset( $_GET['iSortCol_0'] ) ) if ( isset( $_GET['iSortCol_0'] ) )
{ {
$sOrder = "ORDER BY "; $sOrder = "ORDER BY ";
@ -146,8 +144,8 @@
{ {
if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" ) if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
{ {
$sOrder .= $aColumns[ intval( $_GET['iSortCol_'.$i] ) ]." $sOrder .= "`".$aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."` ".
".mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", "; mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
} }
} }
@ -166,12 +164,12 @@
* on very large tables, and MySQL's regex functionality is very limited * on very large tables, and MySQL's regex functionality is very limited
*/ */
$sWhere = ""; $sWhere = "";
if ( $_GET['sSearch'] != "" ) if ( isset($_GET['sSearch']) &amp;&amp; $_GET['sSearch'] != "" )
{ {
$sWhere = "WHERE ("; $sWhere = "WHERE (";
for ( $i=0 ; $i&lt;count($aColumns) ; $i++ ) for ( $i=0 ; $i&lt;count($aColumns) ; $i++ )
{ {
$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR "; $sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ";
} }
$sWhere = substr_replace( $sWhere, "", -3 ); $sWhere = substr_replace( $sWhere, "", -3 );
$sWhere .= ')'; $sWhere .= ')';
@ -180,7 +178,7 @@
/* Individual column filtering */ /* Individual column filtering */
for ( $i=0 ; $i&lt;count($aColumns) ; $i++ ) for ( $i=0 ; $i&lt;count($aColumns) ; $i++ )
{ {
if ( $_GET['bSearchable_'.$i] == "true" &amp;&amp; $_GET['sSearch_'.$i] != '' ) if ( isset($_GET['bSearchable_'.$i]) &amp;&amp; $_GET['bSearchable_'.$i] == "true" &amp;&amp; $_GET['sSearch_'.$i] != '' )
{ {
if ( $sWhere == "" ) if ( $sWhere == "" )
{ {
@ -190,7 +188,7 @@
{ {
$sWhere .= " AND "; $sWhere .= " AND ";
} }
$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' "; $sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' ";
} }
} }
@ -200,12 +198,12 @@
* Get data to display * Get data to display
*/ */
$sQuery = " $sQuery = "
SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))." SELECT SQL_CALC_FOUND_ROWS `".str_replace(" , ", " ", implode("`, `", $aColumns))."`
FROM $sTable FROM $sTable
$sWhere $sWhere
$sOrder $sOrder
$sLimit $sLimit
"; ";
$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error()); $rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
/* Data set length after filtering */ /* Data set length after filtering */
@ -218,7 +216,7 @@
/* Total data set length */ /* Total data set length */
$sQuery = " $sQuery = "
SELECT COUNT(".$sIndexColumn.") SELECT COUNT(`".$sIndexColumn."`)
FROM $sTable FROM $sTable
"; ";
$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error()); $rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());

View File

@ -81,12 +81,6 @@
<h1>Server side (PHP) code</h1> <h1>Server side (PHP) code</h1>
<pre>&lt;?php <pre>&lt;?php
/*
* Script: DataTables server-side script for PHP and MySQL
* Copyright: 2010 - Allan Jardine
* License: GPL v2 or BSD (3-point)
*/
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Easy set variables * Easy set variables
*/ */
@ -108,6 +102,9 @@
$gaSql['db'] = ""; $gaSql['db'] = "";
$gaSql['server'] = "localhost"; $gaSql['server'] = "localhost";
/* REMOVE THIS LINE (it just includes my SQL connection user/pass) */
include( $_SERVER['DOCUMENT_ROOT']."/datatables/mysql.php" );
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* If you just want to use the basic configuration for DataTables with PHP server-side, there is * If you just want to use the basic configuration for DataTables with PHP server-side, there is
@ -138,6 +135,7 @@
/* /*
* Ordering * Ordering
*/ */
$sOrder = "";
if ( isset( $_GET['iSortCol_0'] ) ) if ( isset( $_GET['iSortCol_0'] ) )
{ {
$sOrder = "ORDER BY "; $sOrder = "ORDER BY ";
@ -145,8 +143,8 @@
{ {
if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" ) if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" )
{ {
$sOrder .= $aColumns[ intval( $_GET['iSortCol_'.$i] ) ]." $sOrder .= "`".$aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."` ".
".mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", "; mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", ";
} }
} }
@ -165,12 +163,12 @@
* on very large tables, and MySQL's regex functionality is very limited * on very large tables, and MySQL's regex functionality is very limited
*/ */
$sWhere = ""; $sWhere = "";
if ( $_GET['sSearch'] != "" ) if ( isset($_GET['sSearch']) &amp;&amp; $_GET['sSearch'] != "" )
{ {
$sWhere = "WHERE ("; $sWhere = "WHERE (";
for ( $i=0 ; $i&lt;count($aColumns) ; $i++ ) for ( $i=0 ; $i&lt;count($aColumns) ; $i++ )
{ {
$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR "; $sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ";
} }
$sWhere = substr_replace( $sWhere, "", -3 ); $sWhere = substr_replace( $sWhere, "", -3 );
$sWhere .= ')'; $sWhere .= ')';
@ -179,7 +177,7 @@
/* Individual column filtering */ /* Individual column filtering */
for ( $i=0 ; $i&lt;count($aColumns) ; $i++ ) for ( $i=0 ; $i&lt;count($aColumns) ; $i++ )
{ {
if ( $_GET['bSearchable_'.$i] == "true" &amp;&amp; $_GET['sSearch_'.$i] != '' ) if ( isset($_GET['bSearchable_'.$i]) &amp;&amp; $_GET['bSearchable_'.$i] == "true" &amp;&amp; $_GET['sSearch_'.$i] != '' )
{ {
if ( $sWhere == "" ) if ( $sWhere == "" )
{ {
@ -189,7 +187,7 @@
{ {
$sWhere .= " AND "; $sWhere .= " AND ";
} }
$sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' "; $sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' ";
} }
} }
@ -199,12 +197,12 @@
* Get data to display * Get data to display
*/ */
$sQuery = " $sQuery = "
SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))." SELECT SQL_CALC_FOUND_ROWS `".str_replace(" , ", " ", implode("`, `", $aColumns))."`
FROM $sTable FROM $sTable
$sWhere $sWhere
$sOrder $sOrder
$sLimit $sLimit
"; ";
$rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error()); $rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());
/* Data set length after filtering */ /* Data set length after filtering */
@ -217,7 +215,7 @@
/* Total data set length */ /* Total data set length */
$sQuery = " $sQuery = "
SELECT COUNT(".$sIndexColumn.") SELECT COUNT(`".$sIndexColumn."`)
FROM $sTable FROM $sTable
"; ";
$rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error()); $rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error());