Source for file rsfilter.inc.php

Documentation is available at rsfilter.inc.php

  1. <?php
  2. /** 
  3.  * @version V4.93 10 Oct 2006 (c) 2000-2008 John Lim (jlim#natsoft.com.my). All rights reserved.
  4.  *  Released under both BSD license and Lesser GPL library license.
  5.  *  Whenever there is any discrepancy between the two licenses,
  6.  *  the BSD license will take precedence.
  7.  *
  8.  *  Set tabs to 4 for best viewing.
  9.  * 
  10.  *  Latest version is available at http://php.weblogs.com
  11.  *
  12.  *  Requires PHP4.01pl2 or later because it uses include_once
  13. */
  14.  
  15. /*
  16.     Filter all fields and all rows in a recordset and returns the 
  17.     processed recordset. We scroll to the beginning of the new recordset
  18.     after processing.
  19.     
  20.     We pass a recordset and function name to RSFilter($rs,'rowfunc');
  21.     and the function will be called multiple times, once
  22.     for each row in the recordset. The function will be passed
  23.     an array containing one row repeatedly.
  24.     
  25.     Example: 
  26.      
  27.     // ucwords() every element in the recordset
  28.     function do_ucwords(&$arr,$rs)
  29.     {
  30.         foreach($arr as $k => $v) {
  31.             $arr[$k] = ucwords($v);
  32.         }
  33.     }
  34.     $rs = RSFilter($rs,'do_ucwords');
  35.  */
  36. function RSFilter($rs,$fn)
  37. {
  38.     if ($rs->databaseType != 'array'{
  39.         if (!$rs->connectionreturn false;
  40.         
  41.         $rs $rs->connection->_rs2rs($rs);
  42.     }
  43.     $rows $rs->RecordCount();
  44.     for ($i=0$i $rows$i++{
  45.         if (is_array ($fn)) {
  46.             $obj $fn[0];
  47.             $method $fn[1];
  48.             $obj->$method ($rs->_array[$i],$rs);
  49.       else {
  50.             $fn($rs->_array[$i],$rs);
  51.       }
  52.       
  53.     }
  54.     if (!$rs->EOF{
  55.         $rs->_currentRow 0;
  56.         $rs->fields $rs->_array[0];
  57.     }
  58.     
  59.     return $rs;
  60. }
  61. ?>

Documentation generated on Sun, 09 Mar 2008 23:53:01 -0300 by phpDocumentor 1.4.0

SourceForge.net Logo Support This Project