Visualizzazione dei risultati da 1 a 8 su 8

Visualizzazione discussione

  1. #5
    Purtroppo continuo ad avere problemi nell'estrazione della totalita' dei record, ok per l'estrazione dell'ora minima e massima, stavo pero' provando con dati non dinamici, solo con un numero badge e data di transito fissa, ovviamente pero' nel db ci sono molte piu' righe con molti piu' utenti e relative date e ore di transito.

    ----------------------------------------------------------------------------------------------
    | ID | cognomeNome | numeroBadge | dataTransito | oraTransito | direzione |
    ----------------------------------------------------------------------------------------------
    | 1 | Pluto | 123456 | 2024-01-25 | 07:32:23 | 1 |
    | 2 | Pluto | 123456 | 2024-01-25 | 17:50:49 | 2 |
    | 3 | Pluto | 123456 | 2024-01-27 | 07:05:00 | 1 |
    | 4 | Pluto | 123456 | 2024-01-27 | 12:08:00 | 2 |
    | 5 | Pluto | 123456 | 2024-01-27 | 13:31:00 | 1 |
    | 6 | Pluto | 123456 | 2024-01-27 | 17:48:00 | 2 |
    | 7 | Pippo | 789012 | 2024-01-25 | 07:12:00 | 1 |
    | 8 | Pippo | 789012 | 2024-01-25 | 17:00:00 | 2 |
    | 9 | Pippo | 789012 | 2024-01-26 | 07:05:00 | 1 |
    | 10 | Pippo | 789012 | 2024-01-26 | 12:08:00 | 2 |
    | 11 | Pippo | 789012 | 2024-01-26 | 11:31:00 | 1 |
    | 12 | Pippo | 789012 | 2024-01-26 | 19:50:00 | 2 |
    | 12 | Minni | 345678 | 2024-01-26 | 09:31:00 | 1 |
    | 13 | Minni | 345678 | 2024-01-26 | 15:30:00 | 2 |
    ----------------------------------------------------------------------------------------------


    Pensavo di effettuare una query a monte e raggruppare tutti i numeriBadge e poi passarli alla query per selezionare uno ad uno, ma poi come fa a capire quando cambiare data ?

    In sintesi, con la query non dinamica mi da questo risultato (provando solo sui record 1 e 2):

    1 - PLUTO - 123456 - 2024-01-25 - Ora minima: 07:32:23 - Ora massima: 17:50:49


    Se invece provo a renderla dinamica, con una query a monte che mi raggruppa il numero di badge:

    Codice PHP:


    SELECT 
    FROM tabella GROUP BY numeroBadge 

    Mi conteggia solo un risultato (perche' ovvimente passo solo un numero di badge), io dovrei riuscire ad arrivare a un risultato del genere:


    1 - PLUTO - 123456 - 2024-01-25 - Ora minima: 07:32:23 - Ora massima: 17:50:49
    2 - PLUTO - 123456 - 2024-01-27 - Ora minima: 07:05:00- Ora massima: 17:48:00
    3 - PIPPO - 789012 - 2024-01-25 - Ora minima: 07:12:00- Ora massima: 17:00:00
    4 - PIPPO - 789012 - 2024-01-26 - Ora minima: 07:05:00- Ora massima: 12:08:00

    ecc...ecc...

    Inserisco la query su cui sto ragionando:

    Codice PHP:

    $sqlTotale 
    "SELECT * FROM tabella WHERE anno = $anno AND mese = $mese GROUP BY numeroBadge";            
    $queryTotale mysqli_query($connAvanzamento,$sqlTotale);

    while(
    $arrayTotale mysqli_fetch_assoc($queryTotale)) {

        
    $sql "SELECT id, numeroBadge, cognomeNome, dataTransito, MIN(oraTransito) AS ora_minima, MAX(oraTransito) AS ora_massima FROM tabella WHERE dataTransito = '$arrayTotale[dataTransito]' AND numeroBadge = '$arrayTotale[numeroBadge]'";
        
    $result $connAvanzamento->query($sql);

        if (
    $result->num_rows 0) {

            
    $row $result->fetch_assoc();
                        
            echo 
    "$row[id] - $row[cognomeNome] - $row[numeroBadge] - $row[dataTransito] - Ora minima: " $row["ora_minima"] . " - Ora massima: " $row["ora_massima"] . "<br>";

        } else {
                        
            echo 
    "Nessun risultato trovato";

        }




    Non saprei proprio come riuscire a raggruppare il numero di badge, pero' facendole passare il cambio di data.
    Ultima modifica di _Micky_73; 26-03-2024 a 13:28

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.