Ver Mensaje Individual
  #10 (permalink)  
Antiguo 07/09/2011, 05:39
AitorLopez
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 15 años, 5 meses
Puntos: 6
Respuesta: Control de errores como Dios manda

Hola de nuevo.

No he podido resistirme a empezar con las clases y despues de un rato, me ha salido esto.

Hay tres archivos. El primero que contiene las clases

Código PHP:
Ver original
  1. <?php
  2. class conectar
  3. {
  4.     public static function con()
  5.     {
  6.         $conexion=mysql_connect("localhost","root","");
  7.         mysql_select_db("cuentas",$conexion);
  8.         return $conexion;
  9.     }
  10. }
  11.  
  12. class gestor_errores
  13. {
  14.     public static function ejecuto_error($num_error,$txt_error)
  15.     {
  16.         //$_SESSION['numero_error'] = mysql_errno(conectar::con());
  17.         //$_SESSION['texto_error'] = mysql_error(conectar::con());
  18.  
  19.         $_SESSION['numero_error'] = $num_error;
  20.         $_SESSION['texto_error'] = $txt_error;
  21.  
  22.         header("Location:probando.php");
  23.     }
  24. }
  25.  
  26. class consultas
  27. {
  28.     //Atributos para las funciones
  29.     private $sql;
  30.     private $result;
  31.     private $error;
  32.  
  33.     //Constructor: Inicializo la variable sql
  34.     public function __construct()
  35.     {
  36.         $this->result=array();
  37.     }
  38.     //Consultas de seleccion SELECT
  39.     public function seleccion($sql)
  40.     {
  41.         $rs=mysql_query($sql,conectar::con()) or die (gestor_errores::ejecuto_error(mysql_errno(),mysql_error()));
  42.         //Si la conexion es fallida, llamo a gestion de errores
  43.  
  44.        
  45.         while ($rs1=mysql_fetch_assoc($rs))
  46.         {
  47.             $this->result[]=$rs1;
  48.         }
  49.         return $this->result;
  50.     }
  51.    
  52.     //Consultas de insercion UPDATE
  53.     public function insercion()
  54.     {
  55.        
  56.     }
  57.    
  58.     //Consultas de eliminacion DELETE
  59.     public function eliminacion()
  60.     {
  61.        
  62.     }
  63.    
  64.     //Consultas de modificacion UPDATE
  65.     public function modificacion()
  66.     {
  67.        
  68.     }
  69. }
  70. ?>
el segundo recibe los datos de una consulta

Código PHP:
Ver original
  1. <?php
  2. include_once('clases.php');
  3.  
  4.  
  5. $cons = new consultas();
  6. $sql = "SELECT * FROM t_sconceptos";
  7. $cons1 = $cons->seleccion($sql);
  8.  
  9. for ($i=0;$i<count($cons1);$i++)
  10. {
  11.     echo 'ID_CONCEPTO: '.$cons1[$i]['id_concepto'];
  12.     echo '<br>';
  13.    
  14.     echo 'CONCEPTO: '.$cons1[$i]['concepto'];
  15.     echo '<br>';
  16.    
  17.     echo 'TIPO CONCEPTO: '.$cons1[$i]['tipo_concepto'];
  18.     echo '<hr>';
  19. }
  20. ?>

El tercero muestra los errores en el caso de que los haya

Código PHP:
Ver original
  1. <?php
  2.  
  3. echo $_SESSION['numero_error'];
  4. echo '<br>';
  5. echo $_SESSION['texto_error'];
  6. echo '<br>';
  7.  
  8. ?>

Me ha costado que me funcione, pero al final funciona.

Con respecto a los comentarios de vgonga, he seguido un camino diferente al que el me había indicado, pero bueno, estoy comenzando con las clases.

Bueno, admito sugerencias al respecto, es decir, a ver que os parece y si se puede mejorar, que imagino que si.

Un saludo.