es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Mostrando el aumento diario utilizando datos de la base de datos.

Tengo una tabla en la cual almaceno los datos que obtengo a través de PHP desde la API. La tabla se ve así:

ID count timestamp
6285 123 21.11 18:54
6284 122 21.11 18:53
6283 121 21.11 18:52
6282 120 21.11 18:51

Lo que quiero lograr es algo como: En las últimas 24 horas, el número ha aumentado en X

Para obtener los datos de la base de datos utilizo:

while($row = mysqli_fetch_array($result))
{
// generando tabla HTML etc
// echo-ign datos con $row['timestamp']
}

Mi idea era obtener el primer registro en las últimas 24 horas y el último registro y calcular la diferencia, pero no puedo transferir esta idea a PHP

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para lograr el resultado deseado, puedes usar una consulta SQL para recuperar los datos de las últimas 24 horas y luego usar PHP para calcular la diferencia en la columna de conteo entre el último y el primer timestamp.

    Así es como puedes hacerlo:

    // Conéctate a MySQL utilizando mysqli
    $conn = mysqli_connect("localhost", "nombre_usuario", "contraseña", "base_de_datos");
    
    // Recupera datos de las últimas 24 horas
    $query = "SELECT MIN(count) AS min_count, MAX(count) AS max_count FROM nombre_tabla WHERE timestamp >= NOW() - INTERVAL 1 DAY";
    $result = mysqli_query($conn, $query);
    $row = mysqli_fetch_assoc($result);
    
    // Calcula la diferencia
    $diff = $row["max_count"] - $row["min_count"];
    
    // Muestra el resultado
    echo "En las últimas 24 horas, el número ha aumentado en " . $diff;
    

    En este código, primero te conectas a tu base de datos MySQL utilizando mysqli. Luego, ejecutas una consulta SQL para recuperar los valores mínimos y máximos de conteo para las últimas 24 horas utilizando la función NOW() y la palabra clave INTERVAL. Utilizas la función mysqli_fetch_assoc() para recuperar la fila como un array asociativo.

    Después, calculas la diferencia entre los valores de max_count y min_count y lo almacenas en la variable $diff.

    Por último, muestras el resultado utilizando la instrucción echo.

    Nota: sustituye “nombre_usuario”, “contraseña”, “base_de_datos” y “nombre_tabla” en el código con tus propios valores.

Comments are closed.