Visualizzazione risultati 1 fino 5 di 5

Discussione: Aiuto: Gestire DATE con PHP

  1. #1
    nicolaferrarese non è connesso Neofita
    Data registrazione
    28-03-2014
    Residenza
    Taranto, Puglia
    Messaggi
    17

    Exclamation Aiuto: Gestire DATE con PHP

    Salve
    Avrei un leggero problema con delle variabili con il tempo.
    Sono in un fosso, non so come uscirne e chiedo a voi aiuto.

    Io sono in una situazione:
    Ho un gestionale con varie date.
    $data = 24/10/2016

    Ho trovato un sistema che mi stampa a schermo tutti gli account che hanno come riferimento $data.


    Il problema è che non riesco a fare in modo che vengano stampati a schermo coloro che hanno una data prima di $data.

    Come posso fare?
    Nicola Ferrarese

    Giocatore Videoludico & Appassionato di Web


  2. #2
    nicolaferrarese non è connesso Neofita
    Data registrazione
    28-03-2014
    Residenza
    Taranto, Puglia
    Messaggi
    17

    Predefinito

    Codice PHP:
    <?php
    $data_attuale
    = date("d/m/Y");
    $stmt = $mysqli->prepare('SELECT `id`, `utente` FROM `dipendenti` WHERE `data` < ?');
    $stmt->bind_param('s', $data_attuale);
    Ma non funge..
    Il formato di 'data' è GG/MM/YYYY
    Nicola Ferrarese

    Giocatore Videoludico & Appassionato di Web


  3. #3
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,061

    Predefinito

    Dipende in che formato è salvato il campo "data" sul database. Di norma è di tipo timestamp, ma puoi usare anche NOW() o CURDATE() [vedi qui] per dire a mysql che ti riferisci ad adesso.

    Ciao!

  4. #4
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Io penso che a ben chiara la data ma vuole recuperare le date inferiore dalla data attuale..
    Non puoi usare "<" in una stringa (data non è un numero).
    @alemoppo ci sarebbe un modo di recuperare tutte le date e convertirle in timestamp direttamente da MySQL? Altrimenti da PHP (prelevi tutte le date) converti da data a timestamp e stavolta lo confronti come numero.
    EDIT: oppure con YEAR e via dicendo. http://www.html.it/pag/54075/gestire-date-e-orari/
    Ultima modifica di darbula : 25-10-2016 alle ore 01.33.59

  5. #5
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,061

    Predefinito

    Se il campo è in formato datetime,è possibile usare gli operatori di confronto direttamente in quel formato.

    In ogni caso è possibile convertire in timestamp tutte le date e far i confronti direttamente da mysql (non conviene assolutamente con php). Con mysql è sufficiente utilizzare le funzioni delle date.

    Nel suo caso, una cosa del genere:
    Codice:
    SELECT `id`, `utente` FROM `dipendenti` WHERE data < CURDATE();
    Ovviamente "data" deve essere in un formato consono, tipo date, datetime, timestamp.

    Ciao!
    Ultima modifica di alemoppo : 25-10-2016 alle ore 13.52.29

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •