Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

no funciona mi clase

Estas en el tema de no funciona mi clase en el foro de Frameworks y PHP orientado a objetos en Foros del Web. que tal foro bueno tengo una clase c_roles con esta funciona Código PHP: function  f_reporte_roles ( $ciudad , $mes )     {                           $o_con  = new  ...
  #1 (permalink)  
Antiguo 14/02/2008, 13:09
 
Fecha de Ingreso: febrero-2006
Ubicación: Quito
Mensajes: 68
Antigüedad: 18 años, 2 meses
Puntos: 0
no funciona mi clase

que tal foro bueno tengo una clase c_roles con esta funciona

Código PHP:
function f_reporte_roles($ciudad,$mes)
    {
            
            
$o_con = new c_conexion;
            
            
//verificamos si se establecion la conexion 
            
if($o_con->f_conectar==true)
            {
                
//generamso la consulta
                
$sql "SELECT tem.emp_nombre,tem.emp_apellido,ti.ing_fecha,ti.ing_dias, ti.ing_remuneracion,ti.ing_he,ti.ing_hs,ti.ing_otros_ing,ti.ing_refrigerio,ti.ing_movilizacion, ti.ing_aporte_personal,ti.ing_total,te.egr_aporteiess,te.egr_anticipo_quincena,te.egr_prestamo, te.egr_total,tr.rol_total"
        
" FROM tbl_empleado tem,tbl_ingresos ti,tbl_egresos te, tbl_roles tr"
        
" WHERE tem.emp_ciudad = ' $ciudad '"
        
" AND tem.EMP_CEDULA = ti.EMP_CEDULA"
        
" AND tem.EMP_CEDULA = te.EMP_CEDULA"
        
" AND tr.ING_CODIGO = ti.ING_CODIGO"
        
" AND tr.EGR_CODIGO = te.EGR_CODIGO"
        
" AND MONTH( ti.ing_fecha ) = ' $mes '"
        
" AND MONTH( te.egr_fecha ) = ' $mes '";
        
              
//ejecutamos la consulta
              
$res=mysql_query($sql) or die(mysql_error());
              
              
              
$num=mysql_affected_rows() ;
              
              if(
$num>=1)
              {
                  
                return 
$res;
              }
              else
              {
                  return 
false;
              }
            
            }


    
    
    } 
y la llamo de esta manera

Código PHP:
<?
        
//incluimos el rachivo de la class
        
include("../class/c_roles.php");
                
        if(!isset(
$_POST["ciudad"]) && !isset($_POST["mes"]))
        {
        
            echo
"seleccione mes y ciudad";
            
        }
        else
        {            
            
$o_rep_rol = new c_roles;
            
            
$res_rep_rol $o_rep_rol->f_reporte_roles($ciudad,$mes);
            
            if(
$res_reporte_roles)
            {
                while(
$row=mysql_fetch_array($res_reporte_roles))
                {
                    
$nombre=$row["emp_nombre"];
                    
$apellido=$row["emp_apellido"];
                    
$total_ingresos=$row["ing_total"];
                    
                    echo 
$nombre;
                    echo 
"<br>";
                    echo 
$total_ingresos;
                
                
                }
            
            }
            else
            {
                echo 
"Error";//me imprime esto
                
            
}
        
        }
formulario
Código HTML:
<form name="form1" method="post" action="../php/res_rep_rol.php">
<select name="ciudad" id="ciudad">
      	<option></option>
        <option value="Quito">Quito</option>
        <option value="Guayquil">Guayaquil</option>
        <option value="Huaquillas">Huaquillas</option>
        <option value="Tulcan">Tulcan</option>
        <option value="Cuenca">Cuenca</option>
      </select>
<select name="mes" id="mes">
      	<option></option>
        <option value="01">Enero</option>
        <option value="02">Febrero</option>
        <option value="03">Marzo</option>
        <option value="04">Abril</option>
        <option value="05">Mayo</option>
        <option value="06">Junio</option>
        <option value="07">Julio</option>
        <option value="08">Agosto</option>
        <option value="09">Septiembre</option>
        <option value="10">Septiembre</option>
        <option value="11">Noviembre</option>
        <option value="12">Diciembre</option>
      </select> 
me puede decir donde esta el error
Saludos..
  #2 (permalink)  
Antiguo 14/02/2008, 13:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: no funciona mi clase

Tu problema esta en que tu la variable que llamas al resultado de tu función es $res_rep_rol, y luego comparas la variable $res_reporte_roles, esas dos variables no son iguales y por eso siempre te imprime error.

Saludos.
  #3 (permalink)  
Antiguo 14/02/2008, 13:28
 
Fecha de Ingreso: febrero-2006
Ubicación: Quito
Mensajes: 68
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: no funciona mi clase

ya corregí en las dos partes y el error persiste

Saludos..
  #4 (permalink)  
Antiguo 14/02/2008, 13:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: no funciona mi clase

En ese caso es probable que tu consulta no te este regresando ninguna fila y por eso te marca el error, verifica que tu consulta esta correcta y te regresa los datos que esperas corriéndola en tu gestor favorito de bases de datos.

Saludos.
  #5 (permalink)  
Antiguo 14/02/2008, 13:46
 
Fecha de Ingreso: febrero-2006
Ubicación: Quito
Mensajes: 68
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: no funciona mi clase

la prueba la realice y si me genera resultados en phpmyadmin

Saludos...
  #6 (permalink)  
Antiguo 14/02/2008, 13:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: no funciona mi clase

Prueba cambiar esto:
Código PHP:
$num=mysql_affected_rows(); 
Por esto:
Código PHP:
$num=mysql_num_rows($res); 
Recuerda que Affected Rows es para consultas del tipo INSERT, UPDATE o DELETE.

Saludos.
  #7 (permalink)  
Antiguo 15/02/2008, 07:24
 
Fecha de Ingreso: febrero-2006
Ubicación: Quito
Mensajes: 68
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: no funciona mi clase

GatorV

Mire probe de esta manera y me funciona sin problemas
Código PHP:
include("../Connections/con_tci.php");
    
    
$ciudad=$_POST["ciudad"];
        
$mes=$_POST["mes"];
    
    
$sql 'SELECT tem.emp_nombre, tem.emp_apellido, ti.ing_fecha, ti.ing_dias, ti.ing_remuneracion, ti.ing_he, ti.ing_hs, ti.ing_otros_ing, ti.ing_refrigerio, ti.ing_movilizacion, ti.ing_aporte_personal, ti.ing_total, te.egr_aporteiess, te.egr_anticipo_quincena, te.egr_prestamo, te.egr_total, tr.rol_total'
        
' FROM tbl_empleado tem, tbl_ingresos ti, tbl_egresos te, tbl_roles tr'
        
' WHERE tem.emp_ciudad = "'.$ciudad.'"'
        
' AND tem.EMP_CEDULA = ti.EMP_CEDULA'
        
' AND tem.EMP_CEDULA = te.EMP_CEDULA'
        
' AND tr.ING_CODIGO = ti.ING_CODIGO'
        
' AND tr.EGR_CODIGO = te.EGR_CODIGO'
        
' AND MONTH( ti.ing_fecha ) ="'.$mes.'"'
        
' AND MONTH( te.egr_fecha ) ="'.$mes.'"';
                
//ejectutamos la consulta
                
$res=mysql_query($sql) or die(mysql_error());
                
//$num=mysql_affected_rows();
                
$num=mysql_num_rows($res) or die(mysql_error()); 
                
                
//verificamos si la consulta arojo resultados
                
if($num>=1)
                {
                    
$row=mysql_fetch_array($res) or die(mysql_error());
                    
$nombre=$row["emp_nombre"];
                    
$apellido=$row["emp_apellido"];
                    
$total_ingresos=$row["ing_total"];
                    
                    echo 
$nombre;
                    echo 
"<br>";
                    echo 
$total_ingresos;
                }
                else
                {
                    echo
"no hay nada";
                    
                } 
ahora el problema debe esta en la función o en la llamada pero no logro encontrar el error ya no se que hacer

Saludos...
  #8 (permalink)  
Antiguo 15/02/2008, 09:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: no funciona mi clase

Código PHP:
function f_reporte_roles($ciudad,$mes)
    {
            
            
$o_con = new c_conexion;
            
            
//verificamos si se establecion la conexion 
            
if($o_con->f_conectar==true)
            {
                
//generamso la consulta
                
$sql "SELECT tem.emp_nombre,tem.emp_apellido,ti.ing_fecha,ti.ing_dias, ti.ing_remuneracion,ti.ing_he,ti.ing_hs,ti.ing_otros_ing,ti.ing_refrigerio,ti.ing_movilizacion, ti.ing_aporte_personal,ti.ing_total,te.egr_aporteiess,te.egr_anticipo_quincena,te.egr_prestamo, te.egr_total,tr.rol_total"
        
" FROM tbl_empleado tem,tbl_ingresos ti,tbl_egresos te, tbl_roles tr"
        
" WHERE tem.emp_ciudad = ' $ciudad '"
        
" AND tem.EMP_CEDULA = ti.EMP_CEDULA"
        
" AND tem.EMP_CEDULA = te.EMP_CEDULA"
        
" AND tr.ING_CODIGO = ti.ING_CODIGO"
        
" AND tr.EGR_CODIGO = te.EGR_CODIGO"
        
" AND MONTH( ti.ing_fecha ) = ' $mes '"
        
" AND MONTH( te.egr_fecha ) = ' $mes '";
        
              
//ejecutamos la consulta
              
$res=mysql_query($sql) or die(mysql_error());
              
              
              
$num=mysql_num_rows($res) or die( mysql_error() );
              
              if(
$num>=1)
              {
                  
                return 
$res;
              }
              else
              {
                  return 
false;
              }
            
            }


    
    
    } 
Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:48.