⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ajaxgrid.server.php

📁 AJAX GRID 类及例子 使用 环境 PHP + MYSQL AJAX GRID
💻 PHP
字号:
<?php

/**
 * Autor: Martin Bascal
 * Created on: 18/09/2007
 * Description:
 *    
 *    Server side functions.
 *    
 */

$folder_depth = substr_count($_SERVER["PHP_SELF"] , "/");
if($folder_depth == false)
$folder_depth = 1;
$configPath = str_repeat("../", $folder_depth - 1) . 'phpajaxgrid/phpajaxgrid/examples/config/';

require_once($configPath.'config.php');
//Uncomment if you are using Freelancesoft's Logger
//require_once(CLASSES_PATH."Exceptions.php");
//require_once(MESAGE_MANAGER_PATH."MessageManager.php");
require_once(AJAX_GRID_PATH."GridConfig.php");
require_once(AJAX_GRID_PATH."DBQueryDescriptor.php");
require_once(AJAX_GRID_PATH."FilteredColumn.php");
require_once(AJAX_GRID_PATH."ColumnMapped.php");
require_once(AJAX_GRID_PATH."ColumnComboMapped.php");
require_once(AJAX_GRID_PATH."AjaxGrid.php");
require_once(XAJAX_PATH."xajax.inc.php");
if(!isset($_SESSION)) session_start();


/**
 * Filtra por un valor en una columna de la grilla.
 *
 * @param String $gridName
 * @param Integer $colNumber
 * @param string $filteredString
 * @return ObjectResponse
 */
function AjaxGrid_filter($gridName, $colNumber, $filterString){
	$grid = $_SESSION[$gridName];
	$objResponse = new xajaxResponse();
	try{
		$grid->filter($colNumber, $filterString);
		$objResponse = createResponse($grid,$gridName);
	}
	catch (Exception $ex){
		//Uncomment if you are using Freelancesoft's Logger
		//MessageManager::handleException($ex);
		//if(IS_DEBUG){
			$objResponse->addAlert("Error: {$ex->getMessage()}");
		//}
	}
	return $objResponse;
}

/**
 * Filtra por un valor en una columna de la grilla, lo hace con un LIKE '{$filterString}%'.
 *
 * @param String $gridName
 * @param Integer $colNumber
 * @param string $filteredString
 * @return ObjectResponse
 */
function AjaxGrid_Customfilter($gridName, $colNumber, $filterString){
	$grid = $_SESSION[$gridName];
	$objResponse = new xajaxResponse();
	try{
		$grid->customFilter($colNumber, $filterString);
		$objResponse = createResponse($grid,$gridName);
	}
	catch (Exception $ex){
		//Uncomment if you are using Freelancesoft's Logger
		//MessageManager::handleException($ex);
		//if(IS_DEBUG){
			$objResponse->addAlert("Error: {$ex->getMessage()}");
		//}
	}
	return $objResponse;
}

/**
 * Quita el filtro de una columna espec铆fica.
 *
 * @param String $gridName
 * @param Integer $colNumber
 * @return ObjectResponse
 */
function AjaxGrid_removeFilter($gridName, $colNumber){
	$grid = $_SESSION[$gridName];
	$objResponse = new xajaxResponse();
	try{
		$grid->removeFilter($colNumber);
		$objResponse = createResponse($grid,$gridName);
	}
	catch (Exception $ex){
		//Uncomment if you are using Freelancesoft's Logger
		//MessageManager::handleException($ex);
		//if(IS_DEBUG){
			$objResponse->addAlert("Error: {$ex->getMessage()}");
		//}
	}
	return $objResponse;
}

/**
 * Salta a una fila espec铆fica de una tabla, el resultado con xajax.
 *
 * @param String $gridName
 * @param Integer $rowNumber
 * @return ObjectResponse
 */
function AjaxGrid_goToRow($gridName,$rowNumber){
	$grid = $_SESSION[$gridName];
	$objResponse = new xajaxResponse();
	try{
		$grid->goToRow($rowNumber);
		$objResponse = createResponse($grid,$gridName);
	}
	catch (Exception $ex){
		//Uncomment if you are using Freelancesoft's Logger
		//MessageManager::handleException($ex);
		//if(IS_DEBUG){
			$objResponse->addAlert("Error: {$ex->getMessage()}");
		//}
	}
	return $objResponse;
}

/**
 * Salta a una fila espec铆fica de una tabla, el resultado con xajax.
 *
 * @param String $gridName
 * @param Integer $rowNumber
 * @return ObjectResponse
 */
function AjaxGrid_sort($gridName,$colNumber){
	$grid = $_SESSION[$gridName];
	$objResponse = new xajaxResponse();
	try{
		$grid->sort($colNumber);
		$objResponse = createResponse($grid,$gridName);
	}
	catch (Exception $ex){
		//Uncomment if you are using Freelancesoft's Logger
		//MessageManager::handleException($ex);
		//if(IS_DEBUG){
			$objResponse->addAlert("Error: {$ex->getMessage()}");
		//}
	}
	return $objResponse;
}

/**
 * Refresca la grilla
 *
 * @param string $gridName
 * @return ObjectResponse
 */
function AjaxGrid_refresh($gridName){
	$grid = $_SESSION[$gridName];
	$objResponse = new xajaxResponse();
	try{
		$grid->actualizeData();
		$objResponse = createResponse($grid,$gridName);
	}
	catch (Exception $ex){
		//Uncomment if you are using Freelancesoft's Logger
		//MessageManager::handleException($ex);
		//if(IS_DEBUG){
			$objResponse->addAlert("Error: {$ex->getMessage()}");
		//}
	}
	return $objResponse;
}

/**
 * Actualiza la cantidad de filas por p谩gina.
 *
 * @param String $gridName
 * @param Integer $rowPerPage
 * @return ObjectResponse
 */
function AjaxGrid_changeRowsPerPage($gridName,$rowPerPage){
	$grid = $_SESSION[$gridName];
	$objResponse = new xajaxResponse();
	try{
		$grid->setMaxRows($rowPerPage);
		$objResponse = createResponse($grid,$gridName);
	}
	catch (Exception $ex){
		//Uncomment if you are using Freelancesoft's Logger
		//MessageManager::handleException($ex);
		//if(IS_DEBUG){
			$objResponse->addAlert("Error: {$ex->getMessage()}");
		//}
	}
	return $objResponse;
}

/**
 * Imprime el Javascript necesario para hacer requerimientos xajax.
 */
function AjaxGrid_printJS(){
	echo AjaxGrid_getJS();
}

/**
 * Obtiene el Javascript necesario para hacer requerimientos xajax.
 * 
 * @return string
 */
function AjaxGrid_getJS(){
	global $xajax;
	global $_AJAX_GRID_PATH;
	return
		$xajax->getJavascript(XAJAX_PATH_URL).
		'<script language="javascript" src="'.JS_PATH_URL."ajaxGrid.js".'">
			</script>';
}

function createResponse($grid,$gridName){
	$objResponse = new xajaxResponse();
	$objResponse->addAssign("{$gridName}_navigation_bar1_btn_first",'innerHTML',$grid->getFirstButton());
	$objResponse->addAssign("{$gridName}_navigation_bar1_btn_previous",'innerHTML',$grid->getPreviousButton());
	$objResponse->addAssign("{$gridName}_navigation_bar1_page_links",'innerHTML',$grid->getPageLinks());
	$objResponse->addAssign("{$gridName}_navigation_bar1_btn_next",'innerHTML',$grid->getNextButton());
	$objResponse->addAssign("{$gridName}_navigation_bar1_btn_last",'innerHTML',$grid->getLastButton());
	$objResponse->addAssign("{$gridName}_rows_info",'innerHTML',$grid->getRowsInfo());
	$objResponse->addAssign("{$gridName}_complete_table_id",'innerHTML',$grid->getTable());
	$objResponse->addAssign("{$gridName}_navigation_bar2_btn_first",'innerHTML',$grid->getFirstButton());
	$objResponse->addAssign("{$gridName}_navigation_bar2_btn_previous",'innerHTML',$grid->getPreviousButton());
	$objResponse->addAssign("{$gridName}_navigation_bar2_page_links",'innerHTML',$grid->getPageLinks());
	$objResponse->addAssign("{$gridName}_navigation_bar2_btn_next",'innerHTML',$grid->getNextButton());
	$objResponse->addAssign("{$gridName}_navigation_bar2_btn_last",'innerHTML',$grid->getLastButton());
	$objResponse->addAssign("{$gridName}_change_rows_per_page",'innerHTML',$grid->getChangeRowsPerPage());
	$objResponse->addAssign("{$gridName}_id_loading",'style.display','none');
	$objResponse->addAssign("{$gridName}_id_loading",'style.visibility','hidden');
	return $objResponse;
}

if(!($xajax instanceof xajax)){
	$xajax = new xajax(AJAX_GRID_PATH_URL."AjaxGrid.server.php");
}
$xajax->registerFunction("AjaxGrid_goToRow");
$xajax->registerFunction("AjaxGrid_sort");
$xajax->registerFunction("AjaxGrid_changeRowsPerPage");
$xajax->registerFunction("AjaxGrid_refresh");
$xajax->registerFunction("AjaxGrid_filter");
$xajax->registerFunction("AjaxGrid_removeFilter");
$xajax->registerFunction("AjaxGrid_customFilter");
$xajax->processRequests();

?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -