Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    dubbi banali su date,tempo,procedura di sviluppo

    ciao, vorrei chiedervi qualche chiarimento sulla gestione delle date e delle ore in php (ma penso valga per tutti i linguaggi).

    ce una gran bella differenza tra il timestamp unix epoch e la formattazione standard (y-m-d H:i:s),
    una si basa sui secondi del 197x mentre l'altra dovrebbe essere la sua formattazione.

    ora , come è meglio procedere quando si va ascrivere un dato sul db?
    meglio scriverlo in unix epoch oppure gia bella formattata?

    magari può essere una domanda stupida/inutile, ma non ho trovato nulla al riguardo.


    altra curiosità che non ho trovato da nessuna parte.
    io ho n file .php (5) una classe prende n form da ogni pagina. i campi (ovviamente non i form) possiedono lo stesso name="" in input tipo :

    codice:
    -----------page 1
    <form action="pagA.php" method="post" name="A">
    <input type="hiddn" name="val" value="A" />
    <input type="text" name="nome" value="" />
    <input type="text" name="cognome" value="" />
    </form>
    ---------page 2
    <form action="pagA.php" method="post" name="B">
    <input type="hiddn" name="val" value="B" />
    <input type="text" name="nome" value="" />
    <input type="text" name="cognome" value="" />
    </form>
    pagA
    codice:
    $val = $_POST['val'];
    if (val == "A"){
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    bla bla bla
    }else if (val == "B"){
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    bla bla bla
    }
    bla bla blabla bla bla
    non ce rischio che con tantissime richieste se ne vada in pappa??

    ripeto come sopra , banali/inutili ma non ho mai trovato qualcosa al riguardo

    ciao

  2. #2

    Re: dubbi banali su date,tempo,procedura di sviluppo

    Originariamente inviato da tapu
    ciao, vorrei chiedervi qualche chiarimento sulla gestione delle date e delle ore in php (ma penso valga per tutti i linguaggi).

    ce una gran bella differenza tra il timestamp unix epoch e la formattazione standard (y-m-d H:i:s),
    una si basa sui secondi del 197x mentre l'altra dovrebbe essere la sua formattazione.

    ora , come è meglio procedere quando si va ascrivere un dato sul db?
    meglio scriverlo in unix epoch oppure gia bella formattata?

    magari può essere una domanda stupida/inutile, ma non ho trovato nulla al riguardo.
    Dipende a cosa ti serve: Se devi scrivere la data, per esempio in cui è stato scritto un aricolo. allora ti consiglio un bel campo VARCHAR da 10 caratteri, poi con la funzione "date" di php elabori la data e la inserisci come stringa, ed hai già bella e pronta la data nel db, invece se ti serve ad esempio calcolare la differenza tra due date o operazioni simili, ti consiglio la funzione "time()", che invece restituisce proprio il numero di secondi da non mi ricordo quale data, insomma il formato di cui parlavi all'inizio, la inserisci in un campo INT ed è ottima per compiere operazioni.
    Per quanto riguarda il tuo secondo problema, non credo di aver capito bene, comunque il server è perfettamente in grado di gestire anche decine di variabili POST senza problemi.
    Spero di esserti stato d'aiuto!

  3. #3
    Molto meglio inizializzare i campi del DB come tipo DATE o DATETIME in base al formato di cui hai bisogno.

    Una volta dentro le varie date, puoi eseguire tutte le operazioni che ti servono, utilizzando le funzioni a disposizione del php.


  4. #4
    Scusa se mi intrometto nella discussione con una nuova domandda, ma io non sono mai riuscito ad inserire una data in un campo DATE o DATETIME, come si fa? Ho provato con la data formattata con la funzione "date()", ma non funziona.

  5. #5
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    Originariamente inviato da quit10
    Scusa se mi intrometto nella discussione con una nuova domandda, ma io non sono mai riuscito ad inserire una data in un campo DATE o DATETIME, come si fa? Ho provato con la data formattata con la funzione "date()", ma non funziona.
    Le date (tipo DATE) vanno nel formato aaaa-mm-gg tipo 2009-09-12
    Gli orari (tipo TIME) nel formato hh:mm:ss tipo 10:41:12
    I tipi DATETIME e TIMESTAMP si comportano di conseguenza, per tutti i dettagli dai un'occhiata qui:
    http://dev.mysql.com/doc/refman/5.1/...ime-types.html
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  6. #6
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    se tu su db hai un campo date dovrai andare a scrivere solo la data AAAA-MM-GG
    con timedate AAAA-MM-GG hh:mm:ss
    il timestamp dovrebbe essere il calcolo della data e ora in secondi a partire da una giornata preimpostata nei sistemi unix; da qui il timestamp unix epoch.

    ti posto un pezzetto di codice per rendere le idee più chiare
    codice:
    $sql = "SELECT date_format (now(), '%Y%m%d%H%i%s' ad data_sistema)";
    $querytime = mysql_query($sql);
    $row = mysql_fetch_array($querytime);
    $oggi = $row["data_sistema"];
    $oggi conterra la data sistema formattata ad oggi : 20090912110033
    che poi con le substr ti suddividi.
    ovviamente questo non è in unix epoch!

    Per unix timestamp fai una select inserendo UNIX_TIMESTAMP(now()) .
    spero di essere stato di aiuto

  7. #7
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    Per quanto riguarda il tuo secondo problema, non credo di aver capito bene, comunque il server è perfettamente in grado di gestire anche decine di variabili POST senza problemi.
    si , non mi preoccupo per il flusso di dati che il server dewve gestirli.
    Quello che mi domando è sul nome che si danno ai campi e alle variabili.

    Tipo se io ho 2 pagine dove l'utente inserisce i dati e 2 hidden con nome V e valore diverso pag1 e pag2.

    tutte e 2 inviano i modulio alla pagina Calcolo. prelevo hidden. ad ogni blocco chiamo le variabili nella stessa maniera tipo:

    codice:
    $pag=$_POST['V'];
    if ($pag == 'pag1'){
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    //faccio cio che devo fare etc...etc..
    }else if ($pag == 'pag2'){
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    //faccio cio che devo fare etc...etc..
    }
    il mio quesito è :
    se chiamo tutto nella stessa maniera non rischio che il server si incasini avendo un carico di n utenti?

  8. #8
    Grazie delle risposte!
    Ritornando al tuo secondo preoblema, tapu, la risposta è sempre no:
    Le variabili sono comunque uniche: in
    Codice PHP:
    $pag=$_POST['V'];
    if (
    $pag == 'pag1'){
    $nome $_POST['nome'];
    $cognome $_POST['cognome'];
    //faccio cio che devo fare etc...etc..
    }else if ($pag == 'pag2'){
    $nome $_POST['nome'];
    $cognome $_POST['cognome'];
    //faccio cio che devo fare etc...etc..

    ci sono semper solo le stesse due variabili POST: $_POST['nome'] avrà sempre solo un valore, come $_POST['cognome'] avrà sempre un solo valore: infatti per ogni utente viene compilata la pagina separatamente, non c'è pericolo che lam pagina venga eseguita da due utenti nello stesso momento prorpio perchè viene eseguita ogni volta dal server separatamente per ogni richiesta.

    Grazie ancora!

  9. #9
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ti ringrazio , pensavo fosse come hai spiegato , ma prima di fare casini irrimediabili ho preferito chiedere ... grazie

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.