Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $dbhost = 'localhost';
- $dbuser = 'root';
- $dbpassword = 'root';
- $database = 'stage';
- // to the url parameter are added 4 parameters as described in colModel
- // we should get these parameters to construct the needed query
- // Since we specify in the options of the grid that we will use a GET method
- // we should use the appropriate command to obtain the parameters.
- // In our case this is $_GET. If we specify that we want to use post
- // we should use $_POST. Maybe the better way is to use $_REQUEST, which
- // contain both the GET and POST variables. For more information refer to php documentation.
- $page = $_GET['page']; // Get the requested page. By default grid sets this to 1.
- $limit = $_GET['rows']; // get how many rows we want to have into the grid - rowNum parameter in the grid
- $sidx = $_GET['sidx']; // get index row: user click to sort. At first time sortname parameter,
- // after that the index from colModel
- $sord = $_GET['sord']; // sorting order - at first time sortorder
- if(!$sidx) $sidx =1; // if we not pass at first time index use the first column for the index or what you want
- $db = mysql_connect($dbhost, $dbuser, $dbpassword) or die("Connection Error: " . mysql_error()); // connect to the MySQL database server
- mysql_select_db($database) or die("Error connecting to db."); // select the database
- // calculate the number of rows for the query. We need this for paging the result
- $result = mysql_query("SELECT COUNT(*) AS count FROM sanatorium");
- $row = mysql_fetch_array($result,MYSQL_ASSOC);
- $count = $row['count'];
- // calculate the total pages for the query
- if( $count > 0 && $limit > 0) {
- $total_pages = ceil($count/$limit);
- } else {
- $total_pages = 0;
- }
- // if for some reasons the requested page is greater than the total
- // set the requested page to total page
- if ($page > $total_pages) $page=$total_pages;
- $start = $limit*$page - $limit; // calculate the starting position of the rows
- if($start <0) $start = 0; // if for some reasons start position is negative set it to 0
- // typical case is that the user type 0 for the requested page
- $SQL = "SELECT name, description FROM sanatorium ORDER BY $sidx $sord LIMIT $start , $limit";
- $result = mysql_query( $SQL ) or die("Couldn't execute query.".mysql_error());
- header("Content-type: text/xml;charset=utf-8"); // we should set the appropriate header information. Do not forget this.
- $s = "<?xml version='1.0' encoding='utf-8'?>";
- $s .= "<rows>";
- $s .= "<page>".$page."</page>";
- $s .= "<total>".$total_pages."</total>";
- $s .= "<records>".$count."</records>";
- while($row = mysql_fetch_array($result,MYSQL_ASSOC)) { // be sure to put text data in CDATA
- $s .= "<row >";
- $s .= "<cell>". $row['name']."</cell>";
- $s .= "<cell>". $row['description']."</cell>";
- $s .= "</row>";
- }
- $s .= "</rows>";
- echo $s;
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement