Current file: /root/works/bitsis/oxokuatro/CRE/WSFW/lib/wsfw_db.php
Legend: executed not executed dead code

  Coverage
  Classes Functions / Methods Lines
Total
0.00%0.00%
0.00% 0 / 1
27.27%27.27%
27.27% 3 / 11 CRAP
27.14%27.14%
27.14% 19 / 70
 
WSFW_Db
0.00%0.00%
0.00% 0 / 1
27.27%27.27%
27.27% 3 / 11
27.14%27.14%
27.14% 19 / 70
 __construct ($host, $port, $user, $pass, $database)
100.00%100.00%
100.00% 1 / 1 3
100.00%100.00%
100.00% 5 / 5
 __destruct()
100.00%100.00%
100.00% 1 / 1 1
100.00%100.00%
100.00% 1 / 1
 query ($sql)
100.00%100.00%
100.00% 1 / 1 2
100.00%100.00%
100.00% 3 / 3
 insert ($tabla, $campos)
0.00%0.00%
0.00% 0 / 1 20
0.00%0.00%
0.00% 0 / 12
 update ($tabla, $campos, $condicion)
0.00%0.00%
0.00% 0 / 1 20
0.00%0.00%
0.00% 0 / 11
 delete ($tabla, $condicion)
0.00%0.00%
0.00% 0 / 1 2
0.00%0.00%
0.00% 0 / 2
 select ($campos, $tabla, $condicion = NULL, $orden = NULL, $sentido = NULL)
0.00%0.00%
0.00% 0 / 1 56
0.00%0.00%
0.00% 0 / 18
 select_unico ($campos, $tabla, $condicion)
0.00%0.00%
0.00% 0 / 1 5.02
90.91%90.91%
90.91% 10 / 11
 select_valor ($campo, $tabla, $condicion)
0.00%0.00%
0.00% 0 / 1 2
0.00%0.00%
0.00% 0 / 2
 contar ($tabla, $condicion)
0.00%0.00%
0.00% 0 / 1 6
0.00%0.00%
0.00% 0 / 4
 insert_id ()
0.00%0.00%
0.00% 0 / 1 2
0.00%0.00%
0.00% 0 / 1


       1                 : <?php                                                                                                                                                                                                                       
       2                 : /**                                                                                                                                                                                                                         
       3                 :  * wsfw_db Fitxer que defineix la clase Db                                                                                                                                                                                  
       4                 :  * @package WSFW                                                                                                                                                                                                            
       5                 :  */                                                                                                                                                                                                                         
       6                 :                                                                                                                                                                                                                             
       7                 : /**                                                                                                                                                                                                                         
       8                 :  * WSFW_Db realitza les consules MySQL mitjançant l'estructura de dades de WSFS                                                                                                                                             
       9                 :  */                                                                                                                                                                                                                         
      10                 : class WSFW_Db {                                                                                                                                                                                                             
      11                 :     private $link;                                                                                                                                                                                                          
      12                 :     private $sql;                                                                                                                                                                                                           
      13                 :     private $result;                                                                                                                                                                                                        
      14                 :     private $id;                                                                                                                                                                                                            
      15                 :                                                                                                                                                                                                                             
      16                 :     /**                                                                                                                                                                                                                     
      17                 :      * Crea la connexió amb la base de dades MySQL                                                                                                                                                                          
      18                 :      */                                                                                                                                                                                                                     
      19                 :     function __construct ($host, $port, $user, $pass, $database) {                                                                                                                                                          
      20               6 :         $this->link = mysql_connect ($host, $user, $pass);                                                                                                                                                                  
      21               6 :         if (!$this->link) die ('<b>No se puede conectar a la base de datos</b><br>' . mysql_error());                                                                                                                       
      22               6 :         mysql_select_db($database) or die('<b>No se puede seleccionar la base de datos</b><br>' . mysql_error());                                                                                                           
      23               6 :         mysql_query ("SET NAMES 'utf8'");                                                                                                                                                                                   
      24               6 :     }                                                                                                                                                                                                                       
      25                 :                                                                                                                                                                                                                             
      26                 :     /**                                                                                                                                                                                                                     
      27                 :      * Tanca la connexió amb la base de dades MySQL                                                                                                                                                                         
      28                 :      */                                                                                                                                                                                                                     
      29                 :     function __destruct() {                                                                                                                                                                                                 
      30                 :     //    mysql_close ($this->link);                                                                                                                                                                                        
      31               2 :     }                                                                                                                                                                                                                       
      32                 :                                                                                                                                                                                                                             
      33                 :     /**                                                                                                                                                                                                                     
      34                 :      * Realitza una consulta SQL                                                                                                                                                                                            
      35                 :      * @param string $sql Codi SQL de la consulta                                                                                                                                                                           
      36                 :      * @return recurs Retorna el resultat de la consulta                                                                                                                                                                    
      37                 :      */                                                                                                                                                                                                                     
      38                 :     function query ($sql) {                                                                                                                                                                                                 
      39                 :                                                                                                                                                                                                                             
      40                 :             //echo $sql."<br>";                                                                                                                                                                                             
      41               5 :             $this->result = mysql_query ($sql);                                                                                                                                                                             
      42               5 :         if (!$this->result) die ('<b>Consulta inv&aacute;lida</b><br>La consulta ha fallado, consulte con el administrador.<br><b>Descripci&oacute;n del error:</b><br> ' . mysql_error() . '<br><b>Consulta:</b> ' . $sql);
      43               5 :         return $this->result;                                                                                                                                                                                               
      44                 :                                                                                                                                                                                                                             
      45                 :                                                                                                                                                                                                                             
      46                 :         }                                                                                                                                                                                                                   
      47                 :                                                                                                                                                                                                                             
      48                 :     /**                                                                                                                                                                                                                     
      49                 :      * Crida INSERT de SQL                                                                                                                                                                                                  
      50                 :      * @param string $tabla Nom de la taula de la base de dades                                                                                                                                                             
      51                 :      * @param estructura $campos Camps i valors a insertar                                                                                                                                                                  
      52                 :      * @return integer Retorna el nombre de files afectades                                                                                                                                                                 
      53                 :      */                                                                                                                                                                                                                     
      54                 :     function insert ($tabla, $campos) {                                                                                                                                                                                     
      55               0 :         $valores = null;                                                                                                                                                                                                    
      56               0 :         $i = 0;                                                                                                                                                                                                             
      57               0 :         foreach ($campos as $key => $value) {                                                                                                                                                                               
      58               0 :             $value = ereg_replace("\"", "'", $value);                                                                                                                                                                       
      59               0 :             if ($value == "NOW()") $valores .= "$key=$value";                                                                                                                                                               
      60               0 :             else $valores .= "$key=\"$value\"";                                                                                                                                                                             
      61               0 :             if ($i != count($campos)-1) $valores .= ", ";                                                                                                                                                                   
      62               0 :             $i++;                                                                                                                                                                                                           
      63               0 :         }                                                                                                                                                                                                                   
      64               0 :         $this->query ("INSERT INTO $tabla SET $valores");                                                                                                                                                                   
      65               0 :         $this->id = mysql_insert_id ();                                                                                                                                                                                     
      66               0 :         return mysql_affected_rows();                                                                                                                                                                                       
      67                 :     }                                                                                                                                                                                                                       
      68                 :                                                                                                                                                                                                                             
      69                 :     /**                                                                                                                                                                                                                     
      70                 :      * Crida UPDATE de SQL                                                                                                                                                                                                  
      71                 :      * @param string $tabla Nom de la taula de la base de dades                                                                                                                                                             
      72                 :      * @param estructura $campos Camps i valors a modificar                                                                                                                                                                 
      73                 :      * @param string $condicion SQL de les condicions                                                                                                                                                                       
      74                 :      * @return integer Retorna el resultat de la crida                                                                                                                                                                      
      75                 :      */                                                                                                                                                                                                                     
      76                 :     function update ($tabla, $campos, $condicion) {                                                                                                                                                                         
      77               0 :         $valores = null;                                                                                                                                                                                                    
      78               0 :         $i = 0;                                                                                                                                                                                                             
      79               0 :         foreach ($campos as $key => $value) {                                                                                                                                                                               
      80               0 :             $value = ereg_replace("\"", "'", $value);                                                                                                                                                                       
      81               0 :             if ($value == "NOW()") $valores .= "$key=$value";                                                                                                                                                               
      82               0 :             else $valores .= "$key=\"$value\"";                                                                                                                                                                             
      83               0 :             if ($i != count($campos)-1) $valores .= ", ";                                                                                                                                                                   
      84               0 :             $i++;                                                                                                                                                                                                           
      85               0 :         }                                                                                                                                                                                                                     
      86               0 :         $this->query ("UPDATE $tabla SET $valores WHERE $condicion");                                                                                                                                                       
      87               0 :         return mysql_affected_rows();                                                                                                                                                                                       
      88                 :     }                                                                                                                                                                                                                       
      89                 :                                                                                                                                                                                                                             
      90                 :     /**                                                                                                                                                                                                                     
      91                 :      * Crida DELETE de SQL                                                                                                                                                                                                  
      92                 :      * @param string $tabla Nom de la taula de la base de dades                                                                                                                                                             
      93                 :      * @param string $condicion SQL de les condicions                                                                                                                                                                       
      94                 :      * @return integer Retorna el resultat de la crida                                                                                                                                                                      
      95                 :      */                                                                                                                                                                                                                     
      96                 :     function delete ($tabla, $condicion) {                                                                                                                                                                                  
      97               0 :         $this->query ("DELETE FROM $tabla WHERE $condicion");                                                                                                                                                               
      98               0 :         return mysql_affected_rows();                                                                                                                                                                                       
      99                 :     }                                                                                                                                                                                                                       
     100                 :                                                                                                                                                                                                                             
     101                 :     /**                                                                                                                                                                                                                     
     102                 :      * Crida SELECT de SQL                                                                                                                                                                                                  
     103                 :      * @param estructura $campos Camps i valors a seleciconar                                                                                                                                                               
     104                 :      * @param string $tabla Nom de la taules de la base de dades                                                                                                                                                            
     105                 :      * @param string $condicion SQL de les condicions del SELECT                                                                                                                                                            
     106                 :      * @param string $orden SQL de l'ordre del SELECT                                                                                                                                                                       
     107                 :      * @param string $sentido SQL del sentit de l'ordenació del SELECT                                                                                                                                                      
     108                 :      * @return estructura Retorna el resultat de la crida                                                                                                                                                                   
     109                 :      */                                                                                                                                                                                                                     
     110                 :     function select ($campos, $tabla, $condicion = NULL, $orden = NULL, $sentido = NULL) {                                                                                                                                  
     111               0 :         $valores = null;                                                                                                                                                                                                    
     112               0 :         foreach ($campos as $value) {                                                                                                                                                                                       
     113               0 :              $valores .= $value;                                                                                                                                                                                            
     114               0 :              if (next ($campos)) $valores .= ", ";                                                                                                                                                                          
     115               0 :         }                                                                                                                                                                                                                   
     116               0 :         if ($orden) $ordenar = "ORDER BY $orden $sentido";                                                                                                                                                                  
     117               0 :         if ($condicion) $condicion = "WHERE $condicion";                                                                                                                                                                    
     118               0 :         $sql = "SELECT $valores FROM $tabla $condicion $ordenar";                                                                                                                                                           
     119               0 :         $this->query($sql);                                                                                                                                                                                                 
     120               0 :         if ($num_rows = mysql_num_rows($this->result)) {                                                                                                                                                                    
     121               0 :             $valores = array();                                                                                                                                                                                             
     122               0 :             $i = 0;                                                                                                                                                                                                         
     123                 :             //echo "$sql<br>";                                                                                                                                                                                              
     124               0 :             while ($row = mysql_fetch_assoc($this->result)) {                                                                                                                                                                
     125               0 :                 $valores[$i] = $row;                                                                                                                                                                                        
     126               0 :                 $i++;                                                                                                                                                                                                       
     127               0 :             }                                                                                                                                                                                                               
     128               0 :             return $valores;                                                                                                                                                                                                
     129               0 :         } else return array();                                                                                                                                                                                              
     130                 :     }                                                                                                                                                                                                                       
     131                 :                                                                                                                                                                                                                             
     132                 :     /**                                                                                                                                                                                                                     
     133                 :      * Crida SELECT per consultes amb un sola fila de retorn de SQL                                                                                                                                                         
     134                 :      * @param estructura $campos Camps i valors a seleciconar                                                                                                                                                               
     135                 :      * @param string $tabla Nom de la taules de la base de dades                                                                                                                                                            
     136                 :      * @param string $condicion SQL de les condicions del SELECT                                                                                                                                                            
     137                 :      * @return estructura Retorna el resultat de la crida                                                                                                                                                                   
     138                 :      */                                                                                                                                                                                                                     
     139                 :     function select_unico ($campos, $tabla, $condicion) {                                                                                                                                                                   
     140               5 :         $valores = null;                                                                                                                                                                                                    
     141               5 :         foreach ($campos as $value) {                                                                                                                                                                                       
     142               5 :             $valores .= $value;                                                                                                                                                                                             
     143               5 :             if (next ($campos)) $valores .= ", ";                                                                                                                                                                           
     144               5 :         }                                                                                                                                                                                                                   
     145               5 :         if ($condicion) $condicion = "WHERE $condicion";                                                                                                                                                                    
     146               5 :         $sql = "SELECT $valores FROM $tabla $condicion LIMIT 0,1";                                                                                                                                                          
     147               5 :         $this->query($sql);                                                                                                                                                                                                 
     148               5 :         if (mysql_num_rows($this->result) == 1)                                                                                                                                                                             
     149               5 :             return mysql_fetch_assoc($this->result);                                                                                                                                                                        
     150               0 :         else return false;                                                                                                                                                                                                  
     151                 :     }                                                                                                                                                                                                                       
     152                 :                                                                                                                                                                                                                             
     153                 :     /**                                                                                                                                                                                                                     
     154                 :      * Crida SELECT per consultes amb un son registre de retorn de SQL                                                                                                                                                      
     155                 :      * @param estructura $campos Camps i valors a seleciconar                                                                                                                                                               
     156                 :      * @param string $tabla Nom de la taules de la base de dades                                                                                                                                                            
     157                 :      * @param string $condicion SQL de les condicions del SELECT                                                                                                                                                            
     158                 :      * @return string Retorna el resultat de la crida                                                                                                                                                                       
     159                 :      */                                                                                                                                                                                                                     
     160                 :     function select_valor ($campo, $tabla, $condicion) {                                                                                                                                                                    
     161               0 :         $valor = $this->select_unico (array($campo), $tabla, $condicion);                                                                                                                                                   
     162               0 :         return $valor[$campo];                                                                                                                                                                                              
     163                 :     }                                                                                                                                                                                                                       
     164                 :                                                                                                                                                                                                                             
     165                 :     /**                                                                                                                                                                                                                     
     166                 :      * Crida SELECT COUNT                                                                                                                                                                                                   
     167                 :      * @param string $tabla Nom de la taules de la base de dades                                                                                                                                                            
     168                 :      * @param string $condicion SQL de les condicions del SELECT                                                                                                                                                            
     169                 :      * @return integer Retorna el resultat de la crida                                                                                                                                                                      
     170                 :      */                                                                                                                                                                                                                     
     171                 :     function contar ($tabla, $condicion) {                                                                                                                                                                                  
     172               0 :         if ($condicion) $condicion = "WHERE $condicion";                                                                                                                                                                    
     173               0 :         $sql = "SELECT COUNT(*) FROM $tabla $condicion";                                                                                                                                                                    
     174               0 :         $this->query($sql);                                                                                                                                                                                                 
     175               0 :       return mysql_result($this->result,0,0);                                                                                                                                                                               
     176                 :     }                                                                                                                                                                                                                       
     177                 :                                                                                                                                                                                                                             
     178                 :     /**                                                                                                                                                                                                                     
     179                 :      * Retorna l'últim ID calculat automàticament per MySQL                                                                                                                                                                 
     180                 :      * @return integer Retorna l'ID                                                                                                                                                                                         
     181                 :      */                                                                                                                                                                                                                     
     182                 :     function insert_id () {                                                                                                                                                                                                 
     183               0 :         return $this->id;                                                                                                                                                                                                   
     184                 :     }                                                                                                                                                                                                                       
     185                 :                                                                                                                                                                                                                             
     186                 : }                                                                                                                                                                                                                           
     187                 :                                                                                                                                                                                                                             
     188                 : ?>                                                                                                                                                                                                                          

Generated by PHP_CodeCoverage 1.0.3 using PHP 5.3.3-7 and PHPUnit 3.5.5 at Tue Jan 25 2:17:13 CET 2011.