Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    non mi funziona curdate()

    ho un problema con una query, vorrei prelevare i dati di ogni giorno con due ore indietro, la query funziona in parte, nel senso che sì mi stampa i dati di quella ora, ma me li somma con i dati della stessa ora del giorno precedente, non distingue l'oggi dallo ieri.

    Codice PHP:
    $query_grafico="SELECT a_utenti_online_storico.*, COUNT(*) AS 'count' 
                            FROM a_utenti_online_storico 
                            WHERE a_utenti_online_storico.ora BETWEEN concat(hour(now() - interval 2 hour),':00:00') AND concat(hour(now() - interval 2 hour),':59:59')
                            AND if(now() - interval 2 hour = curdate(), curdate(), curdate() - interval 1 day)"
    ;
    $result_grafico mysql_query($query_grafico$conn2) or die('errore: ' mysql_error());
    $row_grafico2 mysql_fetch_assoc($result_grafico);

    $range_data2 $row_grafico2['ora'];
    $count2 $row_grafico2['count']; 
    nella query alla fine c'è scritto:

    if(now() - interval 2 hour = curdate()
    cioè, se 2 ore fa sono della data di oggi

    curdate()
    prendimi solo i record della data di oggi

    curdate() - interval 1 day
    altrimenti prendimi i record della data di ieri

    però pare che ignori questo comando, infatti continua a sommarmi i record di più giorni, dove sbaglio?

  2. #2
    COUNT(*) AS 'count'

    queste apici su count sono un errore. Gia' detto in altro thread. count non e' una stringa ma il nome del campo alias.

    Altra cosa che pure gia' ti era stata detta e che per il count() devi usare il raggrupamento GROUP BY.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    grazie piero per l'aiuto, ma GROUP BY l'ho provato successivamente ma non ha risolto il problema, ora provo a levare gli apici vediamo se funziona, ti farò sapere.

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Fatto, niente da fare purtroppo

  5. #5
    Originariamente inviato da prinzart
    Fatto, niente da fare purtroppo
    Non puoi fare un raggruppamento e nello stesso tempo richiedere una lista di record.

    Prova a fare due query distinte. In una metterai nome_tab.* e nell'altra solo il count(*) e vedrai che i conti ti torneranno.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.