Source for file jDbWidget.class.php

Documentation is available at jDbWidget.class.php

  1. <?php
  2. /**
  3. @package    jelix
  4. @subpackage db
  5. @author     Croes GĂ©rald, Laurent Jouanneau
  6. @contributor Laurent Jouanneau
  7. @copyright  2001-2005 CopixTeam, 2005-2007 Laurent Jouanneau
  8. *
  9. *  This class was get originally from the Copix project (CopixDbWidget, Copix 2.3dev20050901, http://www.copix.org)
  10. *  Some lines of code are still copyrighted 2001-2005 CopixTeam (LGPL licence).
  11. *  Initial authors of this Copix classes are Gerald Croes and Laurent Jouanneau,
  12. *  and this class was adapted/improved for Jelix by Laurent Jouanneau
  13. *
  14. @link      http://www.jelix.org
  15. @licence  http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public Licence, see LICENCE file
  16. */
  17.  
  18. /**
  19.  *
  20.  * @package  jelix
  21.  * @subpackage db
  22.  */
  23. class jDbWidget {
  24.     /**
  25.     * a jDbConnection object
  26.     */
  27.     private $_conn;
  28.  
  29.     /**
  30.     * Constructor
  31.     */
  32.     function __construct ($connection){
  33.         $this->_conn $connection;
  34.     }
  35.  
  36.     /**
  37.     * Run a query, and return only the first result.
  38.     * @param   string   $query   SQL query (without LIMIT instruction !)
  39.     * @return  object  the object which contains values of the record
  40.     */
  41.     public function  fetchFirst($query){
  42.         $rs     $this->_conn->limitQuery ($query,0,1);
  43.         $result $rs->fetch ();
  44.         return $result;
  45.     }
  46.  
  47.     /**
  48.     * Run a query, and store values of the first result, into an object which has the given class
  49.     * @param   string  $query     SQL query  (without LIMIT instruction !)
  50.     * @param   string  $classname class name of the future object
  51.     * @return  object the object which contains values of the record
  52.     */
  53.     public function fetchFirstInto ($query$classname){
  54.         $rs     $this->_conn->query   ($query);
  55.         $rs->setFetchMode(8$classname);
  56.         $result $rs->fetch ();
  57.         return $result;
  58.     }
  59.  
  60.     /**
  61.     * Get all results of a query
  62.     * @param  string   $query   SQL query
  63.     * @param  integer  $limitOffset  the first number of the results or null
  64.     * @param  integer  $limitCount  number of results you want, or null
  65.     * @return  array    array of objects which contains results values
  66.     */
  67.     public function fetchAll($query$limitOffset=null$limitCount=null){
  68.         if($limitOffset===null || $limitCount===null){
  69.             $rs $this->_conn->query ($query);
  70.         }else{
  71.             $rs $this->_conn->limitQuery ($query$limitOffset$limitCount);
  72.         }
  73.         return $rs->fetchAll ();
  74.     }
  75.  
  76.     /**
  77.     * Get all results of a query and store values into objects which have the given class
  78.     * @param   string   $query   SQL query
  79.     * @param   string  $classname class name of future objects
  80.     * @param  integer  $limitOffset  the first number of the results or null
  81.     * @param  integer  $limitCount  number of results you want, or null
  82.     * @return  array    array of objects which contains results values
  83.     */
  84.     public function fetchAllInto($query$className$limitOffset=null$limitCount=null){
  85.         if($limitOffset===null || $limitCount===null){
  86.             $rs $this->_conn->query ($query);
  87.         }else{
  88.             $rs $this->_conn->limitQuery ($query$limitOffset$limitCount);
  89.         }
  90.         $result array();
  91.         if ($rs){
  92.             $rs->setFetchMode(8$className);
  93.             while($res $rs->fetch()){
  94.                 $result[$res;
  95.             }
  96.         }
  97.         return $result;
  98.     }
  99. }

Documentation generated on Thu, 22 Mar 2012 22:15:23 +0100 by phpDocumentor 1.4.3