• ModSenior

    Non devi fare altri campi, il campo deve essere solo 1 in questo caso diagnosi_data, nel record a secondo della data presente nel campo la query ti prenderà solo i record di quel mese e anno.


  • User Attivo

    Ok allora 🙂 Tutto come prima nel senso che non ho aggiungo nulla.

    Ma perchè ora mi stampa tutti i dati anche se selezioni mese e anno?


  • ModSenior

    Posti il codice completo di tutta la pagina?


  • User Attivo

    Eccolo:

    [PHP]
    $query=mysql_query("SELECT * FROM inserimento_dati WHERE YEAR(diagnosi_data) = 'anno' AND MONTH(diagnosi_data) = 'mese' ORDER BY diagnosi_data DESC") or die(mysql_error());

    $mese=$_POST['mese'];
    $anno=$_POST['anno'];

    while($inserimento_dati=mysql_fetch_array($query)){
    $diagnosi_ingresso=$inserimento_dati['diagnosi_ingresso'];
    echo" <tr><td>$diagnosi_ingresso</td></tr>";
    }
    [/PHP]


  • ModSenior

    Non dovrebbe essere cosi?
    Tutte le volte aggiusti una cosa e ne fai un altra. 🙂
    [php]
    $mese=$_POST['mese'];
    $anno=$_POST['anno'];
    $query=mysql_query("SELECT * FROM inserimento_dati WHERE YEAR(diagnosi_data) = '$anno' AND MONTH(diagnosi_data) = '$mese' ORDER BY diagnosi_data DESC") or die(mysql_error());
    while($inserimento_dati=mysql_fetch_array($query)){
    $diagnosi_ingresso=$inserimento_dati['diagnosi_ingresso'];
    echo" <tr><td>$diagnosi_ingresso</td></tr>";
    }
    [/php]


  • User Attivo

    Vero, mi incasino un pò 😄

    [PHP]$mese=$_POST['mese'];
    $anno=$_POST['anno'];

    $query=mysql_query("SELECT * FROM inserimento_dati WHERE YEAR(diagnosi_data) = '$anno' AND MONTH(diagnosi_data) = '$mese' ORDER BY diagnosi_data DESC") or die(mysql_error());

    while($inserimento_dati=mysql_fetch_array($query)){
    $diagnosi_ingresso=$inserimento_dati['diagnosi_ingresso'];
    echo" <tr><td>$diagnosi_ingresso</td></tr>";
    }
    [/PHP]

    Non mi stampa nulla, pagina bianca 😢


  • ModSenior

    Allora nella tabella non c'è un record per quell'anno e quel mese.


  • User Attivo

    Ho provato lo script per vedere se esiste qualcosa e mi stampa "niente ciccia per gatti" 😢

    [PHP]$mese=$_POST['mese'];
    $anno=$_POST['anno'];
    $query=mysql_query("SELECT * FROM inserimento_dati
    WHERE YEAR(diagnosi_data) = '$anno' AND MONTH(diagnosi_data) = '$mese'
    ORDER BY diagnosi_data DESC")
    or die(mysql_error());
    if(mysql_num_rows($query) == 0 ) {
    echo " niente ciccia per i gatti.";
    exit;
    } else {
    while($inserimento_dati=mysql_fetch_array($query)){
    $diagnosi_ingresso=$inserimento_dati['diagnosi_ingresso'];
    echo" <tr><td>$diagnosi_ingresso</td></tr>";
    }
    }
    ?>[/PHP]

    Il mio dubbio è: devo inserire nella tabella database "inserimento_dati"? Lì c'è già anno, mese, poi gennaio, febbraio ecc. e poi 2009, 2010 eccetera.


  • User Attivo

    La tabella inserimento_dati del database è questa:

    id int(11) No 0
    id_cl int(12) No auto_increment
    accettato_da varchar(55) latin1_swedish_ci No
    cognome varchar(55) latin1_swedish_ci No
    nome varchar(55) latin1_swedish_ci No
    luogo_di_nascita varchar(55) latin1_swedish_ci No
    data_di_nascita varchar(55) latin1_swedish_ci No
    eta varchar(11) latin1_swedish_ci No
    residenza varchar(55) latin1_swedish_ci No
    via varchar(55) latin1_swedish_ci No
    recapiti_telefonici varchar(55) latin1_swedish_ci No
    telefono_cellulare varchar(55) latin1_swedish_ci No
    utente_da_contattare varchar(55) latin1_swedish_ci No
    telefono_abitazione2 varchar(55) latin1_swedish_ci No
    telefono_cellulare2 varchar(55) latin1_swedish_ci No
    provenienza varchar(55) latin1_swedish_ci No
    diagnosi_ingresso varchar(55) latin1_swedish_ci No
    data_registrazione varchar(55) latin1_swedish_ci No
    diagnosi_data varchar(55) latin1_swedish_ci No
    mese date No 0000-00-00
    anno date No 0000-00-00
    gennaio date No 0000-00-00
    febbraio date No 0000-00-00
    marzo varchar(22) latin1_swedish_ci No
    aprile varchar(22) latin1_swedish_ci No
    maggio varchar(22) latin1_swedish_ci No
    giugno varchar(22) latin1_swedish_ci No
    luglio varchar(22) latin1_swedish_ci No
    agosto varchar(22) latin1_swedish_ci No
    settembre varchar(22) latin1_swedish_ci No
    ottobre varchar(22) latin1_swedish_ci No
    novembre varchar(22) latin1_swedish_ci No
    dicembre varchar(22) latin1_swedish_ci No
    2009 date No 0000-00-00
    2010 date No 0000-00-00
    2011 varchar(4) latin1_swedish_ci No
    2012 varchar(4) latin1_swedish_ci No
    2013 varchar(4) latin1_swedish_ci No
    2014 varchar(4) latin1_swedish_ci No
    2015 varchar(4) latin1_swedish_ci No
    2016 varchar(4) latin1_swedish_ci No
    2017 varchar(4) latin1_swedish_ci No
    2018 varchar(4) latin1_swedish_ci No
    2019 varchar(4) latin1_swedish_ci No
    2020 varchar(4) latin1_swedish_ci


  • User Attivo

    Ciao! Allora la query va bene...il database no...ho fatto i campi così ora:

    id int(11) No 0
    id_cl int(12) No auto_increment
    accettato_da varchar(55) latin1_swedish_ci No
    cognome varchar(55) latin1_swedish_ci No
    nome varchar(55) latin1_swedish_ci No
    luogo_di_nascita varchar(55) latin1_swedish_ci No
    data_di_nascita varchar(55) latin1_swedish_ci No
    eta varchar(11) latin1_swedish_ci No
    residenza varchar(55) latin1_swedish_ci No
    via varchar(55) latin1_swedish_ci No
    recapiti_telefonici varchar(55) latin1_swedish_ci No
    telefono_cellulare varchar(55) latin1_swedish_ci No
    utente_da_contattare varchar(55) latin1_swedish_ci No
    telefono_abitazione2 varchar(55) latin1_swedish_ci No
    telefono_cellulare2 varchar(55) latin1_swedish_ci No
    diagnosi_ingresso varchar(55) latin1_swedish_ci No
    data_registrazione varchar(55) latin1_swedish_ci No
    diagnosi_data varchar(55) latin1_swedish_ci No
    mese date No 0000-00-00
    anno date No 0000-00-00

    Non ci siamo ancora? SIGH!

    UFFA, ma dove sbaglio? :?:?:?

    Grazie!


  • ModSenior

    I record presenti invece?


  • User Attivo

    I record (gennaio, febbraio ecc) e gli anni (2009, 2010 ecc) sono nella pagina.html

    Perchè dove dovrebbero essere?


  • ModSenior

    Come nella pagina.html?
    Per record si intendono i dati inseriti nella tabella, in pratica ogni riga che vedi in mostra è un record.


  • User Attivo

    Sì scusami...quindi nella pagina.php dovrei mettere i mesi e gli anni?

    $mese=$_POST['mese'];
    $anno=$_POST['anno'];
    $mese=$_POST['gennaio'];
    $anno=$_POST['2009];

    Così?


  • ModSenior

    Per record si intendono i dati inseriti nella tabella del database, non devi modificare il file php che andava bene.


  • User Attivo

    Ma i dati che ho messo nel database sono questi e così, perchè non vanno?

    diagnosi_ingresso varchar(55) latin1_swedish_ci No
    data_registrazione varchar(55) latin1_swedish_ci No
    diagnosi_data varchar(55) latin1_swedish_ci No
    mese date No 0000-00-00
    anno date No 0000-00-00


  • ModSenior

    Quella è la struttura della tabella, cioè i campi, ma devi riempire la tabelal mettendoci i record, come si fa con le query insert per capirci.


  • User Attivo

    Naturalmente in diagnosi_data ho messo DATE.


  • User Attivo

    O mamma, non l'ho mai fatto questo, dove li metto? apro il phpmyadmin? non ne ho idea, scusami...è la prima volta che faccio questo tipo di script...
    Grazie!


  • ModSenior

    Dal phpmyadmin, entri nella tua tabella (Dove vedi la struttura), e fai inserisci e metti i record.