Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    258

    mysql/php Estrarre dati per mese

    Salve, ho dei dati in un db mysql, ora vorrei dare la possibilità di poter estrarre i dati per mese, quindi tramite un menu a tendina, l'utente seleziona il mese e dovrebbero comparire i dati scelti. Io gia faccio l'estrazione del mese corrente utilizzando questa query:

    Codice PHP:
    $sql "SELECT * FROM tabella WHERE  MONTH (giorno) = MONTH(curdate()) and id_utente = '$ute'"
    Come si fa specificare un mese specifico?

  2. #2
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371
    Scusa, non sono sicuro di aver capito.

    Da come poni la domanda, sembra che la risposta sia

    codice:
    $sql = "SELECT * FROM tabella WHERE  MONTH (giorno) = $mese and id_utente = '$ute'";
    
    A volte penso che, nel darci l'intelletto, la natura sia stata più sadica che generosa.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    258
    Quote Originariamente inviata da Reiuky Visualizza il messaggio
    Scusa, non sono sicuro di aver capito.

    Da come poni la domanda, sembra che la risposta sia

    codice:
    $sql = "SELECT * FROM tabella WHERE  MONTH (giorno) = $mese and id_utente = '$ute'";
    
    Ciao Reiuky, provo a spiegarmi meglio. Ho un db con una tabella con vari campi tra qui "giorno" che contiene la data in questo formato 2014-08-17, ora io vorrei raggruppare tutti i record per mese, quindi quando l'utente invierà il form con il mese "Luglio" dovrà sostituire tutti i record che vanno dal 2014-07.01 al 2014-07-31. Non so se ho reso l'idea.

    Nel tue esempio hai utilizzato $mese, ma quella variabile cosa contiene?

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Ci vuole anche l'anno.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    sixdas, è la seconda volta, il tuo problema non c'entra niente con PHP, hai solo problemi nello scrivere la query giusta, quindi l'argomento è SQL e va nella sezione Database.
    Ti sposto, ma la prossima volta fa attenzione.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    258
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Ci vuole anche l'anno.
    Puoi farmi un esempio?
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    sixdas, è la seconda volta, il tuo problema non c'entra niente con PHP, hai solo problemi nello scrivere la query giusta, quindi l'argomento è SQL e va nella sezione Database.
    Ti sposto, ma la prossima volta fa attenzione.
    Ok sorry

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da sixdas Visualizza il messaggio
    Puoi farmi un esempio?


    Ok sorry
    La funzione MONTH ti torna solo il mese. Si metti solo quello avrai anche record per gli anni passati. Devi aggiungere la funzione YEAR.

    select * from tabella where month(giorno) = $mese and year(giorno) = $anno etc...

    $mese e $anno possono corrispondere a delle variabili estrate da $_GET o $_POST a secondo di come vuoi che vengano immessi i dati dall'utente. Ma li parliamo di php non più di db
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    258
    Quote Originariamente inviata da badaze Visualizza il messaggio
    La funzione MONTH ti torna solo il mese. Si metti solo quello avrai anche record per gli anni passati. Devi aggiungere la funzione YEAR.

    select * from tabella where month(giorno) = $mese and year(giorno) = $anno etc...

    $mese e $anno possono corrispondere a delle variabili estrate da $_GET o $_POST a secondo di come vuoi che vengano immessi i dati dall'utente. Ma li parliamo di php non più di db
    Perfetto funziona correttamente, io sbagliavo qui:
    MONTH (giorno) = MONTH(curdate()) = $mese

    In pratica facevo doppia condizione e naturalmente non funzionava.

    Grazie mille,

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.