Visualizzazione dei risultati da 1 a 10 su 10

Discussione: azione temporale

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    29

    azione temporale

    Ciao ragazzi,

    volevo una manina con uno script:

    in pratica questo script dovrebbe farmi un comando sql ad ogni passaggio di giorno ora vi spiego meglio

    ho creato la mia bella tabella

    Users Datault punti

    dove :
    User è il nome utente
    Datault è la data dell'ultimo invio
    Punti il numero di punti che aggiungo con un altro script^_^

    a questo punto vorrei fare in modo che questi punti si vadano ad aggiornare in una altra tabella ogni giorno quindi dovrebbe fare un controllo sull'ultima data "Datault" e verificare se sia passato un giorno e poi farmi l'aggiunta di punti se è andato a buon fine.... ovviamente dovrebbe anche settarmi l'orario nuovamente...... spero di essere stato chiaro e spero di ricevere un aiuto veloce.. perchè mi sono un po' imballato....

    ringrazio tutti anticipatamente!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    29
    è vero starete per dirmi non sai attendere? ma sono un po' incasinato... mi scuso ma....è leggermente difficile o almeno dato che non ho dormito lo reputo difficile.. io non chiedo di farmi lo script completo ma almeno un aiuto su quello che devo usare/impostare

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    29
    facciamo così
    a me serve questo:

    stampo la data


    setlocale (LC_TIME,"it_IT");
    $DATA1 = time();

    $date_time_array = getdate($DATA1);

    $hours = $date_time_array['hours'];
    $minutes = $date_time_array['minutes'];
    $seconds = $date_time_array['seconds'];
    $month = $date_time_array['mon'];
    $day = $date_time_array['mday'];
    $year = $date_time_array['year'];

    $DATA1 = mktime($hours,$minutes,$seconds,$month,$day,$year) ;
    $DATAINGWAR = strftime('%H : %M - %d/%m/%y',$DATA1);

    ora vado a fare il select nel db

    $sql = "SELECT USERS,Datault,Punti FROM USER WHERE USERS = '$USERS'";

    una volta fatto questo devo dire al mio script di confrontare le date

    quindi deve fare un confronto tra $DATAINGWAR e Datault(appositamente trasformata in variabile) come faccio a far capire che il confronto si deve basare sul passaggio delle 24 ore?(quindi un giorno)? vi ringrazio

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    29
    nuovo problema ecco lo script:

    <?PHP
    include ('config.inc.php');
    $DATA1 = date("j/n/Y");
    $sql="SELECT DATAULT FROM USERS WHERE USERNAME='$_SESSION[USERNAME]'";
    $query = mysql_query ($sql, $connessione) or die(mysql_error());
    while ($row=mysql_fetch_array($query)){
    $SC_data=$row["DATAULT"];

    $conronto= ($DATA1 - $SC_data)/(60*60*24);

    if ($confronto >=1 ) {

    echo il tuo cane è brutto;

    else {

    echo porca troia
    ?>

    mi da un errore parse.... potete aiutarmi? grazie è un periodo nero....

  5. #5
    Codice PHP:
    <?PHP
    include ('config.inc.php');
    $DATA1 date("j/n/Y");
    $sql="SELECT DATAULT FROM USERS WHERE USERNAME='$_SESSION[USERNAME]'";
    $query mysql_query ($sql$connessione) or die(mysql_error());
    while (
    $row=mysql_fetch_array($query)){
    $SC_data=$row["DATAULT"];

    $confronto= ($DATA1 $SC_data)/(60*60*24); 

    if (
    $confronto >=) {

    echo 
    "il tuo cane è brutto";
    }
    else {

    echo 
    "porca troia";
    }
    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    29
    Codice PHP:
    <?PHP 
    session_start
    ();
    include 
    "config.inc.php";
    $DATA1 date("j/n/Y"); 
    $DATA10 mktime($DATA1);
        
    $sql="SELECT UltimaEsp FROM USERS WHERE USERNAME='$_SESSION[USERNAME]'"
    $query mysql_query ($sql$connessione) or die(mysql_error()); 
    while (
    $row=mysql_fetch_array($query)){
    $SC_data=$row["UltimaEsp"];

    $DATA0 mktime($SC_data);

    echo 
    "$DATA1 espressa normalmente
    "
    ;
    echo 
    "$DATA10 in secondi
    "
    ;
    echo
    "$DATA0 in secondi
    "
    ;

    $confronto= ($DATA10 $DATA0)/('86400'); 

    echo 
    "$confronto";

    if (
    $confronto >='0.04' ) { 

    echo 
    "aggiornami"

    else { 

    echo 
    "non devi essere aggiornato"
    }

    }
    @
    mysql_close ($connessione);
    ?>
    ragazzi è una cosa complicatuccia in pratica l'mktimenon mi tiene conto ne dei mesi e ne degli anni;

    mi spiego meglio.... sul database ho una data stampata così 21/7/2005 ok?
    ora la porto a confronto passandola tramite mktime e nulla assolutamente nulla anzi dice che le due date sono uguali cosa impossibile dato che una è **/**/2006 e l'altra **/**/2005 aiutatemi

  7. #7

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    29
    questo non mi ha affato spiegato perchè le due date siano uguali seppur diverse...

  9. #9
    Se l'avessi letto lo spiega benissimo, tu passi a mktime un campo di tipo timestamp, mentre il prototipo di mktime é:

    int mktime ( int hour, int minute, int second, int month, int day, int year [, int is_dst] )

    a cui, come vedi, dovresti passare ore, minuti, secondi, mese, giorno e anno come campi numerici separati.
    Chiaro che se passi una stringa lui ti ritorna un valore di errore. E il confronto é uguale!

    Per questo, secondo me, é meglio che studi l'mktime e le funzioni riguardanti le date!

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    29
    ora vi ringrazio e vi spiego come ho risolto pe tutti coloro che vorrebbero riuscirci^_^

    Codice PHP:
    <?
    session_start
    ();
    include 
    "config.inc.php";
    function 
    Tempo($tim) {
        return(
    strftime("%d/%m/%Y %H:%M"strtotime($tim)));
    }
    ?>


    <html>
    <head>
    <link rel="stylesheet" href="stile.css" type="text/css">
    </head>
    <?
    $MySql 
    "SELECT UltimaEsp FROM USERS WHERE USERNAME='$_SESSION[USERNAME]'";
    $Result mysql_query($MySql);
    $rs mysql_fetch_array($Result);
    $UltimaEsp $rs["UltimaEsp"];
    $rs->close;
    #echo strftime("%Y-%m-%d")."==".$UltimaEsp."<hr>";
    if (strftime("%Y-%m-%d")!=$UltimaEsp) {

    $MySql "UPDATE USERS SET UltimaEsp = '".strftime("%Y-%m-%d 00:00:00")."' WHERE USERNAME='$_SESSION[USERNAME]'";
            
    $Result mysql_query($MySql);
            
        echo 
    "hai aggiornato la data^_^";
    }


     
    ?>
                        <?
                    
                    
    @mysql_close ($connessione);
                    
    ?>
    grazie a tutti

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.