Foros del Web » Programando para Internet » PHP »

Total mal ubicado

Estas en el tema de Total mal ubicado en el foro de PHP en Foros del Web. Código PHP: <?php header ( 'Server: Apache' ); session_start (); if(isset( $_SESSION [ 'valid_user' ])&&  $_SESSION [ 'tipo' ]== 3  || isset( $_SESSION [ 'valid_user' ])&&  $_SESSION ...
  #1 (permalink)  
Antiguo 29/06/2012, 12:36
 
Fecha de Ingreso: junio-2012
Mensajes: 77
Antigüedad: 12 años, 5 meses
Puntos: 5
Total mal ubicado

Código PHP:
<?php
header
('Server: Apache');

session_start();

if(isset(
$_SESSION['valid_user'])&& $_SESSION['tipo']==|| isset($_SESSION['valid_user'])&& $_SESSION['tipo']==2)
{
    
//    header('Content-type: application/vnd.ms-excel');
    //    header("Content-Disposition: attachment; filename=Reporte.xls");
    //    header("Pragma: no-cache");
    //    header("Expires: 0");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Reporte</title>
</head>
<body>
<?php @include 'includes/styles.php';?>

<?php @include 'includes/logo.php';?>
<?php
if(!isset($_SESSION['valid_user'])&& $_SESSION['tipo']!=|| !isset($_SESSION['valid_user'])&& $_SESSION['tipo']!=2)header("location: includes/error.php");//sino es admin para unauthorized

@include("includes/conexion.php");

conectar();
//echo "<pre>". print_r($_POST, true) . "</pre>";
if(!(isset($_POST['Seleccionar'])and !empty($_POST['Seleccionar'])))
{
    echo
"<div align=center>";
    echo
'<form name="semestre" action="" method="post">';
    echo
'<table border=1>';
    echo
'    <tr><td>Tipo Reporte</td><td><select name="tipoReporte">
                <option value="1">General</option>
s                </select></tr>'
;
    echo
'<tr><td>Area</td><td><select name="idArea">';
    
$queryArea="Select * FROM areageneral";
    
$resultAreamysql_query($queryArea);
    
$num_area=mysql_num_rows($resultArea);
    for(
$area=0$area<$num_area$area++)
    {
        
$rowAreamysql_fetch_array($resultArea);
        
$idArea=$rowArea['idAreaEsp'];
        
$nombreArea=$rowArea['nombreAreaEsp'];
        echo
'<option value="'.$idArea.'">'.$nombreArea.'</option>';
    }echo
'
        </select></tr>'
;
    echo
'<tr><td>Año</td><td><select name="year">';

    
$queryYear="SELECT * FROM year";
    
$resultYearmysql_query($queryYear);
    
$num_result_year=mysql_num_rows($resultYear);
    for(
$year=1;$year<=$num_result_year;$year++)
    {
        
$aniomysql_fetch_array($resultYear);
        
$anio=$anio['year'];
        echo
'<option value='.$anio.'>'.$anio.'</option>
                '
;
    }echo
'
        </select></tr>
                <tr><td colspan=2><input type="submit" name="Seleccionar" value="Seleccionar" class="button" /></td></tr>
                </table>
                </form>'
;
    echo
"</div>";
}

if(isset(
$_POST['year']))
{
    
$fecha=$_POST['year'];
    
$idArea=$_POST['idArea'];

    if(
$_SESSION['tipo'] == 3)
    {
        
$nombreArea="SELECT nombreAreaEsp FROM areageneral WHERE idAreaEsp='$idArea'";
        
$nombreArea=mysql_query($nombreArea);
        
$nombreArea=mysql_fetch_array($nombreArea);
        
$nombreArea=$nombreArea['nombreAreaEsp'];
        echo
"<align=right>";
        echo
'<center>';
        echo
'<table>
        <tr>
        <th>Valor</th>
        <th>Grado</th>
        <th>Equivalencia</th>
    </tr>
                    <tr>
                        <td>5</td>
                        <td>Muy Alto</td>
                        <td>100</td>
                    </tr>
                    <tr>
                        <td>4</td>
                        <td>Alto</td>
                        <td>75</td>
                    </tr>
                    <tr>
                        <td>3</td>
                        <td>Medio</td>
                        <td>50</td>
                    </tr>
                    <tr>
                        <td>2</td>
                        <td>Bajo</td>
                        <td>25</td>
                    </tr>
                    <tr>
                        <td>1</td>
                        <td>Muy Bajo</td>
                        <td>0</td>
                    </tr>
                </table></center>'
;
        echo 
'<center><table>
        <tr>
        <th>EVALUACION PERSONAL '
.$nombreArea.' '.$fecha.'</th>
        <th>&nbsp;</th>
        <th>&nbsp;</th>
        <th>&nbsp;</th>
        <th>&nbsp;</th>
        <th>&nbsp;</th>
        <th>&nbsp;</th>
        <th>&nbsp;</th>
        <th>&nbsp;</th>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>ITEMS A EVALUAR</td>
        <td>Numero de personas por item</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>Porcentaje</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td>A.Siempre</td>
        <td>B. Muchas veces</td>
        <td>C. Algunas veces</td>
        <td>D. Nunca</td>
        <td>N</td>
        <td>B. Muchas veces</td>
        <td>C. Algunas veces</td>
        <td>D. Nunca</td>
    </tr>'
;
        
$numeroHabilidadesnumeroHabilidades($idArea);
        
$resultNumeroHabilidades mysql_query($numeroHabilidades);
        
$resultNumeroHabilidadesmysql_result($resultNumeroHabilidades,0);

        
$idHabilidadidHabilidad($idArea);
        
$resultidHabilidadmysql_query($idHabilidad);

        for(
$cantidadHabilidades=1;$cantidadHabilidades<=$resultNumeroHabilidades;$cantidadHabilidades++)
        {
            
$totalSiempre=0;
            
$totalMuchas=0;
            
$totalAlgunas=0;
            
$totalNunca=0;

            
$idHabilidad=mysql_fetch_array($resultidHabilidad);
            
$idHabilidad=$idHabilidad['idHabilidad'];
            
$queryHabilidad=datosHabilidad($idHabilidad);
            
$resultHabilidadmysql_query($queryHabilidad);
            
$rowHabilidad mysql_fetch_array($resultHabilidad);
            
$nombreHabilidad=$rowHabilidad['nombreHabilidad'];

            
$queryIndicador=numeroIndicadores($idHabilidad);
            
$resultIndicador mysql_query($queryIndicador);
            
$num_results mysql_num_rows($resultIndicador);
            for (
$idIndicador=1$idIndicador<= $num_results$idIndicador++)
            {
                
$queryEmpleado="SELECT * FROM empleado WHERE idAreaEsp='$idArea'";
                
$resultQueryEmpleado=mysql_query($queryEmpleado);
                
$num_resultsQueryEmpleado=mysql_num_rows($resultQueryEmpleado);
                
$rowIndicador mysql_fetch_array($resultIndicador);
                
$indicador$rowIndicador['idIndicador'];
                
$totalEmpleado=0;
                
$totalJefe=0;
                for(
$numEmpleado=1$numEmpleado<=$num_resultsQueryEmpleado;$numEmpleado++)
                {
                    
$empleado=mysql_fetch_array($resultQueryEmpleado);
                    
$idEmpleado=$empleado['idEmpleado'];
                    
$queryCalificacionEmpleado "SELECT calificacion FROM calificacionempleado WHERE idEmpleado='$idEmpleado' AND fecha='$fecha'  and idHabilidad='$idHabilidad' and idIndicador='$indicador'";
                    
$resultqueryCalificacionEmpleado mysql_query($queryCalificacionEmpleado);
                    
$CalificacionEmpleado mysql_fetch_array($resultqueryCalificacionEmpleado);
                    
$rowCalificacionEmpleado $CalificacionEmpleado['calificacion'];
                    
$totalEmpleado$totalEmpleado+$rowCalificacionEmpleado;
                    
$rowCalificacionEmpleado=($rowCalificacionEmpleado/0.277777)*5;
                    
$rowCalificacionEmpleado=redondeo($rowCalificacionEmpleado);

                    
$queryCalificacionJefe "SELECT calificacion FROM calificacionjefe WHERE idEmpleado='$idEmpleado' AND fecha='$fecha' and idHabilidad='$idHabilidad' and idIndicador='$indicador'";
                    
$resultqueryCalificacionJefe mysql_query($queryCalificacionJefe);
                    
$CalificacionJefe mysql_fetch_array($resultqueryCalificacionJefe);
                    
$rowCalificacionJefe $CalificacionJefe['calificacion'];
                    
$totalJefe=$totalJefe+$rowCalificacionJefe;
                    
$rowCalificacionJefe=($rowCalificacionJefe/0.277777)*5;
                    
$rowCalificacionJefe=redondeo($rowCalificacionJefe);

                    
$totalHabilidad = ($rowCalificacionJefe*0.7)+($rowCalificacionEmpleado*0.3);

                    if (
$totalHabilidad<=&& $totalHabilidad>4)
                    {
                        
$totalSiempre=$totalSiempre++;
                    }
                    if  (
$totalHabilidad<=&& $totalHabilidad>3)
                    {
                        
$totalMuchas=$totalMuchas++;
                    }
                    if  (
$totalHabilidad<=&& $totalHabilidad>2)
                    {
                        
$totalAlgunas=    $totalAlgunas++;
                    }
                    if  (
$totalHabilidad<=&& $totalHabilidad>0)
                    {
                        
$totalNunca=    $totalNunca++;
                    }
                }
            }

            echo
'
            <tr>
            <td>'
.$nombreHabilidad.'</td>
            <td>'
.$totalSiempre.'</td>
            <td>'
.$totalMuchas.'</td>
            <td>'
.$totalAlgunas.'</td>
            <td>'
.$totalNunca.'</td>
            <td>110,91%</td>
            <td>52,73%</td>
            <td>1,8%</td>
            <td>0,00%</td>
        </tr>'
;
        }
        echo
'
 </tbody>
</table>
'
;
        echo 
'<h1>'.$num_resultsQueryEmpleado.'</h1>';
    }
}
?>
</body>
</html>
tengo este codigo todo muy bien pero al parecer tengo estos
Código PHP:
$totalSiempre=0;
$totalMuchas=0;
$totalAlgunas=0;
$totalNunca=0
me ayudan...

Última edición por andrwyo2006; 29/06/2012 a las 12:41
  #2 (permalink)  
Antiguo 29/06/2012, 12:42
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 10 meses
Puntos: 27
Respuesta: Total mal ubicado

no entiendo... un poco mejor podrias explicar el problema?
  #3 (permalink)  
Antiguo 29/06/2012, 12:48
 
Fecha de Ingreso: junio-2012
Mensajes: 77
Antigüedad: 12 años, 5 meses
Puntos: 5
Respuesta: Total mal ubicado

tengo que totalizar unas consultas... las consultas se hacen bien... pero al parecer se setean de nuevo a 0 cuando empieza el for... por eso creo que los totales estan donde no deben ir....
osea tengo 3 for
for(a=1)
{
for (b=1)
{
for(c=1)
{
ciertas consultas necesito que los resultado de estas consultas se guarden mientras terminan los 2 for de arriba y luego me los muestre y cuando cambie el for mas externo de valor los setee en 0 y vuelva a empezar
}
}
}

me hice entender?
  #4 (permalink)  
Antiguo 29/06/2012, 12:59
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 326
Antigüedad: 15 años, 10 meses
Puntos: 27
Respuesta: Total mal ubicado

los totales debes sacarlos fuera dle for... inicializarlos cero 1 sola ves sino siempre tendran ese valor y no acumularan como vos queres hacer..
  #5 (permalink)  
Antiguo 29/06/2012, 13:01
 
Fecha de Ingreso: junio-2012
Mensajes: 77
Antigüedad: 12 años, 5 meses
Puntos: 5
Respuesta: Total mal ubicado

voy a probar y te comento
  #6 (permalink)  
Antiguo 29/06/2012, 13:05
 
Fecha de Ingreso: junio-2012
Mensajes: 77
Antigüedad: 12 años, 5 meses
Puntos: 5
Respuesta: Total mal ubicado

Código PHP:

for($cantidadHabilidades=1;$cantidadHabilidades<=$resultNumeroHabilidades;$cantidadHabilidades++)
        {
        [
COLOR="Red"]    $totalSiempre=0;
            
$totalMuchas=0;
            
$totalAlgunas=0;
            
$totalNunca=0;[/COLOR]
            
$idHabilidad=mysql_fetch_array($resultidHabilidad);
            
$idHabilidad=$idHabilidad['idHabilidad'];
            
$queryHabilidad=datosHabilidad($idHabilidad);
            
$resultHabilidadmysql_query($queryHabilidad);
            
$rowHabilidad mysql_fetch_array($resultHabilidad);
            
$nombreHabilidad=$rowHabilidad['nombreHabilidad'];

            
$queryIndicador=numeroIndicadores($idHabilidad);
            
$resultIndicador mysql_query($queryIndicador);
            
$num_results mysql_num_rows($resultIndicador);
            for (
$idIndicador=1$idIndicador<= $num_results$idIndicador++)
            {
                
$queryEmpleado="SELECT * FROM empleado WHERE idAreaEsp='$idArea'";
                
$resultQueryEmpleado=mysql_query($queryEmpleado);
                
$num_resultsQueryEmpleado=mysql_num_rows($resultQueryEmpleado);
                
$rowIndicador mysql_fetch_array($resultIndicador);
                
$indicador$rowIndicador['idIndicador'];
                
$totalEmpleado=0;
                
$totalJefe=0;
                for(
$numEmpleado=1$numEmpleado<=$num_resultsQueryEmpleado;$numEmpleado++)
                {
                    
$empleado=mysql_fetch_array($resultQueryEmpleado);
                    
$idEmpleado=$empleado['idEmpleado'];
                    
$queryCalificacionEmpleado "SELECT calificacion FROM calificacionempleado WHERE idEmpleado='$idEmpleado' AND fecha='$fecha'  and idHabilidad='$idHabilidad' and idIndicador='$indicador'";
                    
$resultqueryCalificacionEmpleado mysql_query($queryCalificacionEmpleado);
                    
$CalificacionEmpleado mysql_fetch_array($resultqueryCalificacionEmpleado);
                    
$rowCalificacionEmpleado $CalificacionEmpleado['calificacion'];
                    
$totalEmpleado$totalEmpleado+$rowCalificacionEmpleado;
                    
$rowCalificacionEmpleado=($rowCalificacionEmpleado/0.277777)*5;
                    
$rowCalificacionEmpleado=redondeo($rowCalificacionEmpleado);

                    
$queryCalificacionJefe "SELECT calificacion FROM calificacionjefe WHERE idEmpleado='$idEmpleado' AND fecha='$fecha' and idHabilidad='$idHabilidad' and idIndicador='$indicador'";
                    
$resultqueryCalificacionJefe mysql_query($queryCalificacionJefe);
                    
$CalificacionJefe mysql_fetch_array($resultqueryCalificacionJefe);
                    
$rowCalificacionJefe $CalificacionJefe['calificacion'];
                    
$totalJefe=$totalJefe+$rowCalificacionJefe;
                    
$rowCalificacionJefe=($rowCalificacionJefe/0.277777)*5;
                    
$rowCalificacionJefe=redondeo($rowCalificacionJefe);

                    
$totalHabilidad = ($rowCalificacionJefe*0.7)+($rowCalificacionEmpleado*0.3);

                    if (
$totalHabilidad<=&& $totalHabilidad>4)
                    {
                        
$totalSiempre=$totalSiempre++;
                    }
                    if  (
$totalHabilidad<=&& $totalHabilidad>3)
                    {
                        
$totalMuchas=$totalMuchas++;
                    }
                    if  (
$totalHabilidad<=&& $totalHabilidad>2)
                    {
                        
$totalAlgunas=    $totalAlgunas++;
                    }
                    if  (
$totalHabilidad<=&& $totalHabilidad>0)
                    {
                        
$totalNunca=    $totalNunca++;
                    }
                }
            }

            echo
'
            <tr>
            <td>'
.$nombreHabilidad.'</td>
            <td>'
.$totalSiempre.'</td>
            <td>'
.$totalMuchas.'</td>
            <td>'
.$totalAlgunas.'</td>
            <td>'
.$totalNunca.'</td>
            <td>110,91%</td>
            <td>52,73%</td>
            <td>1,8%</td>
            <td>0,00%</td>
        </tr>'
;
        }
        
        echo
'
 </tbody>
</table>
'

ahi donde los tengo es el unico lugar donde me funciona.... afuera me pone problema... y aun asi no me lleva el total...
  #7 (permalink)  
Antiguo 29/06/2012, 19:11
 
Fecha de Ingreso: junio-2012
Mensajes: 77
Antigüedad: 12 años, 5 meses
Puntos: 5
Respuesta: Total mal ubicado

Ya lo solucione pueden cerrar el tema
gracias

Etiquetas: html, mysql, sql, totales
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 12:52.