Weekly query php mysql?

0

I have a project and I need to organize weekly results in a table.

<!DOCTYPE html>
<html>
<head>
	<title>tabla semanal</title>
</head>
<body>
<table border="1">
	<tr>
		<th>EMPLEADO</th>
		<th>LUNES<br>(fecha)</th>
		<th>MARTES<br>(fecha)</th>
		<th>MIERCOLES<br>(fecha)</th>
		<th>JUEVES<br>(fecha)</th>
		<th>VIERNES<br>(fecha)</th>
		<th>SABADO<br>(fecha)</th>
		<th>DOMINGO<br>(fecha)</th>
	</tr>
	<tr>
		<td>JUAN</td>
		<td>56</td>
		<td>67</td>
		<td>34</td>
		<td>23</td>
		<td>25</td>
		<td>78</td>
		<td>90</td>
	</tr>
	<tr>
		<td>PEDRO</td>
		<td>90</td>
		<td>67</td>
		<td>45</td>
		<td>56</td>
		<td>34</td>
		<td>33</td>
		<td>56</td>
	</tr>
</table>
</body>
</html>

this is the code in php, it works for me vertically but I want to organize them:

<?php 
include 'conexion.php';
$sql = mysqli_query($conect, "SELECT * FROM tabla WHERE fecha 
		BETWEEN CURRENT_DATE()-7 AND CURRENT_DATE() ORDER by fecha DESC");				
		echo '<table border="2">
			<tr>
				<th>Id</th>
				<th>Nombre</th>
				<th>Fecha</th>
			<th>i</th>
							
				</tr>';
					while ($row = mysqli_fetch_array($sql)) {
					echo'<tr>
						<td>'.$row ['id'].'</td>
						<td>'.$row ['nombre'].'</td>
						<td>'.$row ['fecha'].'</td>
						<td>'.$row ['item'].'</td>
							
					</tr>';}'
</table>'; 
				

 ?>

Thanks in advance.

    
asked by Martin Matias 10.03.2018 в 16:37
source

1 answer

-1
<?php 
///primero haces una consulta 
$sql = mysqli_query($conect, "SELECT * FROM tabla WHERE fecha 
        BETWEEN CURRENT_DATE()-7 AND CURRENT_DATE() ORDER by fecha DESC");



//en este array almacenaremos los datos
$dia = array();

//determinamos  la fecha de primer y untimo dia de la semana

$primer_dia = time();
$ultimo_dia = time();
while(date("w",$primer_dia)!=1){
$primer_dia -= 3600;
}
while(date("w",$ultimo_dia)!=0){
$ultimo_dia += 3600;
}

/////recoremos la consulta usando una variable temporal
foreach($sql as $sqltmp):

//filtamos los del lunes
if( $sqltmp -> fecha < date('Y-m-d',$primer_dia+1*24*3600)) {
    $dia[0]  += array ($sqltmp;);
  }else{

//filtamos  los del marte
if( $sqltmp -> fecha < date('Y-m-d',$primer_dia+2*24*3600)) {
    $dia[1]  += array ($sqltmp;);
  }else{

//filtamos  los del miercoles
if( $sqltmp -> fecha < date('Y-m-d',$primer_dia+3*24*3600)) {
    $dia[2]  += array ($sqltmp;);
  }else{

//filtamos  los del jueves
if( $sqltmp -> fecha < date('Y-m-d',$primer_dia+4*24*3600)) {
    $dia[3]  += array ($sqltmp;);
  }else{

//filtamos  los del viernes
if( $sqltmp -> fecha < date('Y-m-d',$primer_dia+5*24*3600)) {
    $dia[4]  += array ($sqltmp;);
  }else{

//filtamos  los del ...
if( $sqltmp -> fecha < date('Y-m-d',$primer_dia+6*24*3600)) {
    $dia[5]  += array ($sqltmp;);
  }else{

//filtamos  los del domingo
if( $sqltmp -> fecha < date('Y-m-d',$primer_dia+7*24*3600)) {
    $dia[6]  += array ($sqltmp;);
     }
                     }
                 }
              }
           }
       } 
 }
endforeach;
?>
//ya t

is separated, you have to show them I hope I help you

    
answered by 15.09.2018 в 23:33