Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/06/2011, 16:27
Avatar de Markgus
Markgus
 
Fecha de Ingreso: junio-2010
Mensajes: 152
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: duda foreach en una consulta

sigo intentando pero nomas no doy ahora tengo algo así, por el momento solo estoy intentando con un arreglo '$aEntrada' pero ni asi me sale

Código PHP:
<?php
include("conexion.php");

?>
<html>
<head>
</head>
<body>

<?

$query 
"select * from tabla";
$result mysql_query($query) or die (mysql_error());


//declaro los arreglos $aEntrada y $aSalida
$aEntrada=array();
$aSalida= array();
while(
$reg=mysql_fetch_array($result)){
$Entrada $reg['Entrada'];
$Salida $reg['Salida'];  

//les cambio la hora
$fechaE strtotime($Entrada);
$fen1 date("Y",$fechaE);
$fen2 date("m",$fechaE);
$fen3 date("d",$fechaE);

$fechaEF $fen1."-".$fen2."-".$fen3;
$hInicio '08:00:00';
$inicio $fechaEF." ".$hInicio;

//fecha salida
$fechaS strtotime($Salida); 
$fes1 date("Y",$fechaS);
$fes2 date("m",$fechaS);
$fes3 date("d",$fechaS);

$fechaSF $fes1."-".$fes2."-".$fes3;
$hTermina '18:00:00';
$termina $fechaSF." ".$hTermina;



//echo $inicio;

$aEntrada[] = $inicio;
$aSalida[] = $termina;

}



foreach (
$aEntrada as $value) {
$query3 =
SELECT K.*,DifEntrada+DifSalida as Total FROM
(
SELECT
Entrada,
TIMESTAMPDIFF(MINUTE,'$value',Entrada) as DifEntrada,
Salida,
TIMESTAMPDIFF(MINUTE,Salida,'$value')  as DifSalida
FROM tabla
) K
"
;


$result3 mysql_query($query3) or die (mysql_error());


$num_results mysql_num_rows($result3);
echo 
"Registros Encontrados: ".$num_results;


echo 
"\t<table class=\"registros\">\n";
echo 
"<tr class=\"titulos\">
<td><font color='#FFFFFF' face='Arial,  Helvetica, sans-serif'>Entrada:</font</td>
<td><font color='#FFFFFF' face='Arial, Helvetica,  sans-serif'>DifEntrada:</font></td>
<td><font color='#FFFFFF' face='Arial,  Helvetica, sans-serif'>Salida:</font></td>
<td><font color='#FFFFFF' face='Arial,  Helvetica, sans-serif'>DifSalida:</font></td>
<td><font color='#FFFFFF' face='Arial,  Helvetica, sans-serif'>Total Minutos:</font></td>
</tr>\n"
;
$r=0;
while(
$row mysql_fetch_assoc($result3)){
echo 
"\t\t<tr class=\"row$r\">
<td>"
.htmlentities($row['Entrada'])."</td>
 <td>"
.htmlentities($row['DifEntrada'])."</td>
<td>"
.htmlentities($row['Salida'])."</td>
 <td>"
.htmlentities($row['DifSalida'])."</td>
 <td>"
.htmlentities($row['Total'])."</td>
                </tr>\n"
;
          if(
$r%2==0)++$r;else--$r;
        }
            echo 
"\t</table>\n";

}

?>
</body>
</html>
lo que hace aqui es que me imprime la tabla X cantidad de veces por ejemplo si aqui
Código PHP:
<?echo "Registros Encontrados: ".$num_results;?>
es 4 me imprime la tabla 4 veces ysi es porque esta dentro del ciclo pero me tambien me di cuenta que de esas 4 veces por cada registro si sale una fecha bien

es decir en la tabla 1 la comparación en la fila 1 es correcta y en la 2 con la 2 y asi

creo que mi problema seria en la forma de acomodar la matriz, aunque si imprimo fuera del ciclo si se imprime solo una vez pero me trae solo el ultimo registros del arreglo espero que me puedan ayudar y no los este confundiendo, como leeran no soy bueno con los arreglos si tienen algún ejemplo que me pueda orientar se los agradeceria