PHP - Ayuda con un codigo...

 
Vista:
sin imagen de perfil
Val: 27
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con un codigo...

Publicado por Jonatan (15 intervenciones) el 11/06/2019 05:31:27
Hola nuevamente, tengo el siguiente codigo.. que me muestra el resultado total de venta segun la fecha y la hora que le pongo...


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
/*Establece la conexion MySQL*/
$conexion = mysqli_connect("localhost","root","","pizzeria");
 
/*Cadenas SQL que se van a ejecutar*/
$sql = "SELECT SUM(total_venta) as total
FROM facturas  WHERE fecha_factura BETWEEN '2019-06-06 22:53:07' AND '2019-06-07 00:55:04'
";
 
 
 
if( $conexion->multi_query($sql) )
{
 do
{
   /* obtiene el resultado de la consulta*/
        if ($result = $conexion->store_result())
        {
          /*Obtiene los nombres de los campos*/
          $campos = $result->fetch_fields();
            echo '<table> <tr>';
            for($i = 0; $i < count($campos); $i++)
            {
            /*Muestra los nombres de los campos*/
              echo '<td>'.$campos[$i]->name.'</td>';
            }
            echo '<tr>';
 
          /*Lee un registro mientras no sea el final*/
          while ($fila = $result->fetch_row())
            {
                echo '<tr>';
             for($i = 0; $i < count($campos); $i++)
              {
               /*Muestra el contenido de los campos */
               echo '<td>'.$fila[$i].'</td>';
 
 
 
             }
             echo '</tr>';
            }
            echo '</table>';
            /*cierra la conexion*/
            $result->close();
        }
    } while ($conexion->next_result());
}
?>

la siguiente pregunta, hay alguna manera para que me genere automaticamente la fecha actual aca '2019-06-06 22:53:07' .. porque lo tengo que hacer manualmente para que todos los dias me de el total de la suma segun la fecha y el rango de horarios...... en FROM facturas WHERE fecha_factura BETWEEN '2019-06-06 22:53:07' AND '2019-06-07 00:55:04'
";

Nose si me explico bien.. que automaticamente me ponga la fecha del dia... asi yo no la tengo que poner manulamente. abriendo el block de notas y modificandola.. gracias.....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con un codigo...

Publicado por Mauro (1037 intervenciones) el 11/06/2019 16:14:33
Puedes usar la función CURDATE() de mysql si lo que buscas es la fecha del servidor donde está la DB o bien puedes usar un objeto tipo DateTime si lo quieres hacer en php (Más info en https://openwebinars.net/blog/fechas-en-php-como-tratarlas/).

Sería algo como:

1
2
3
$d = new DateTimeImmutable();
$sql = "SELECT SUM(total_venta) as total
FROM facturas  WHERE fecha_factura BETWEEN '".($d->format('Y-m-d H:i:s'))."' AND '".($d->add(new DateTimeInterval('T1H'))."'";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 27
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con un codigo...

Publicado por Jonatan (15 intervenciones) el 11/06/2019 17:09:21
Ahi lo cambie pero me tira error..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
/*Establece la conexion MySQL*/
$conexion = mysqli_connect("localhost","root","","pizzeria");
 
/*Cadenas SQL que se van a ejecutar*/
$d = new DateTimeImmutable();
$sql = "SELECT SUM(total_venta) as total
FROM facturas  WHERE fecha_factura BETWEEN '".($d->format('Y-m-d H:i:s'))."' AND '".($d->add(new DateTimeInterval('T1H'))."'";
 
 
 
if( $conexion->multi_query($sql) )
{
 
 do
{
   /* obtiene el resultado de la consulta*/
        if ($result = $conexion->store_result())
        {
          /*Obtiene los nombres de los campos*/
          $campos = $result->fetch_fields();
            echo '<table> <tr>';
            for($i = 0; $i < count($campos); $i++)
            {
            /*Muestra los nombres de los campos*/
              echo '<td>'.$campos[$i]->name.'</td>';
            }
            echo '<tr>';
 
          /*Lee un registro mientras no sea el final*/
          while ($fila = $result->fetch_row())
            {
                echo '<tr>';
             for($i = 0; $i < count($campos); $i++)
              {
               /*Muestra el contenido de los campos */
               echo '<td>'.$fila[$i].'</td>';
 
 
 
             }
             echo '</tr>';
            }
            echo '</table>';
            /*cierra la conexion*/
            $result->close();
        }
    } while ($conexion->next_result());
}
?>
</html>

Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\pizzeria\cierre_caja.php on line 13

----


Osea cuando ejecuto el php caja.php que no me modifique el rango de horarios.. haber como lo explico..

yo tengo un facturador en mi negocio que cuando genero ventas me dice la fecha, la hora generada la venta... yo quiero queme muestre el total de ventas dentro de ese rango de horarios osea de 19:30:00 a 23:30:00 solamente que me cambie la fecha, asi todos los dias me va mostrando el total de ventas en ese horario nada mas.. necesito.. gracias..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con un codigo...

Publicado por Mauro (1037 intervenciones) el 11/06/2019 21:20:54
Había algunos errores de sintaxis, disculpa, aquí la versión corregida:

1
$sql = "SELECT SUM(total_venta) as total FROM facturas  WHERE fecha_factura BETWEEN '".($d->format('Y-m-d H:i:s'))."' AND '".($d->add(new DateInterval('PT1H'))->format('Y-m-d H:i:s'))."'";

Si lo que buscas es que sólo cambie la hora puedes usar algo como:

1
2
$d = new DateTimeImmutable( 'today 19:30:00' );
$sql = "SELECT SUM(total_venta) as total FROM facturas  WHERE fecha_factura BETWEEN '".($d->format('Y-m-d H:i:s'))."' AND '".($d->add(new DateInterval('PT4H'))->format('Y-m-d H:i:s'))."'";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 27
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con un codigo...

Publicado por Jonatan (15 intervenciones) el 11/06/2019 22:30:00
Hola nuevamente, no, lo que necesito es que me agregue la fecha actual.. sea el horario ese 19:30:00 a 23:59:00 quede siempre igual... lo que necesito es que actuamaticamente me cambie la fecha actual asi yo cuando abro el archivo caja.php ya este actualizada la fecha, pero el horario quede igual asi me muestra el resultado de ventas segun la fecha, el rango de horario es ese.. se entiende? saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 27
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con un codigo...

Publicado por Jonatan (15 intervenciones) el 11/06/2019 22:47:25
O sino como podia hacer un formulario con las opciones, fechas, hora de inicio y hora de salida, y que me aroje la suma total entre esos rangos de horario que yo le pongo? serias tan amable de ayudarme '???? me estoy volviendo loco y no encuentro la solucion!! gracias,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 27
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con un codigo...

Publicado por Jonatan (15 intervenciones) el 11/06/2019 22:52:22
Mira, te explico bien lo que quiero hacer a partir del codigo que te envie...

tengo una base de datos con las siguientes trablas.


1

el script me arroja el resultado total sumando por fecha y rango de horario osea tengo 2 turnos a la noche y a la mañana.. yo necesito algun codigo html que poniendo la fecha, los rangos de horarios que yo quiero asi me haga la suma total de venta entre esos rangos de horarios y segun la fecha tambien. que me muestre el resultado de la suma total de ventas, segun el la fecha y rango de horario que yo le ponga..... se entiende??? te agradeceria mucho..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 27
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con un codigo...

Publicado por Jonatan (15 intervenciones) el 11/06/2019 22:59:35
Ah y agrego.... tengo este formulario quisiera sabes si me podes ayudar??? para hacerlo funcionable... dentro del codigo php..

en html: yo seleccionado la fecha y los rangos de horarios... me de la suma de ventas.. segun lo que yo seleccione, sea fecha, hora de inicio y hora de cierre...

1
2
3
4
5
6
7
<input class="form-control" name="fecha_ini" id="fecha_ini" type="date" style="height:40px;" required>
 
<input class="form-control" name="hora_ini" id="hora_ini" type="time" style="height:40px;" required>
 
<input class="form-control" name="hora_ini" id="hora_ini" type="time" style="height:40px;" required>
 
<input id="consultar" name="consulta" type="button" value="consultar">

ojala me pueda ayudar para poder terminar el codigo asi lo empiezo a utilizar en mi negocio. gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar