Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    mysql: differenza tra date problemi

    Ciao a tutti ho problemi per realizzare una query per differenziare 2 date, ADESSO e una data memorizzata nel mysql in formato 25-10-2008 19:35.

    Mi serve per cancellare i vecchi utenti del sito, dunque vorrei effettuare la differenza in giorni tra oggi (now()) e l'ultimo login (prelevato dal mysql) e dunque deletarli.

    qualcuno puo aiutatmi?

    posto qua i codici.

    query realizzata da me

    Clean Old Messages/Newsletter




    <?
    if ($_POST){

    $tabla5 = mysql_query("SELECT * FROM tb_messenger ORDER BY id ASC"); // selecciono todos los registros de la tabla usuarios, ordenado por nombre

    $date = $_POST["date"]

    //Todo parece correcto procedemos con la inserccion
    $queryz9 = "DELETE FROM tb_messenger WHERE TIMEDIFF((now(),'$date')) > 3000000;
    mysql_query($queryz9) or die(mysql_error());
    }

    echo "Done.

    ";

    }
    ?>
    This Button Will Clean Old Messages/Newsletter.



    <form method="post" action="index.php?op=38">
    <input type="hidden" name="clean" value="clean">
    <input type="submit" Value="Clean" class="button">
    </form>





    </table>


    Risultato:
    Parse error: syntax error, unexpected T_VARIABLE in /users/a/d/b/adbux/public_html/0530700ad/cleanoldmessages.php on line 12

    struttura del mysql interessato:
    --
    -- Struttura della tabella `tb_messenger`
    --

    CREATE TABLE IF NOT EXISTS `tb_messenger` (
    `id` int(11) NOT NULL auto_increment,
    `sendfrom` varchar(15) collate latin1_general_ci NOT NULL,
    `sendto` varchar(15) collate latin1_general_ci NOT NULL,
    `date` varchar(35) collate latin1_general_ci NOT NULL,
    `comments` varchar(3000) collate latin1_general_ci NOT NULL,
    `status` varchar(11) collate latin1_general_ci NOT NULL default 'unread',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=31676 ;

    --
    -- Dump dei dati per la tabella `tb_messenger`
    --

    INSERT INTO `tb_messenger` (`id`, `sendfrom`, `sendto`, `date`, `comments`, `status`) VALUES
    (30466, 'admin', 'ivanhoe6', '27-09-08 17:23', 'Newsletter 27-09-08 17:23 \r\n\r\n\r\n

    \r\n', 'unread'),

  2. #2
    per utilizzare le funzioni temporali di mysql il formato della data deve essere quello previsto (ansi) oppure numerico unix-timestamp. quello usato da te e' una stringa. Quindi non puoi fare un controllo tra data ansi e una stringa varchar.

    hai poi altre inesattezze di codice, tipo if($_POST) inutile perche' $_POST e' sempre TRUE poiche' esiste sempre anche se vuoto. L'uso dello short tag e' deprecato da tempo.

    L'errore in riga 12 (qual'e' la riga 12?) parla di errore di sintassi PHP e non di SQL. Potrebbe essere la mancata chiusura del doppio apice alla stringa della variabile $queryz9.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Ciao

    c'è qualche soluzione per sistemare questa query?

    qualche conversione per fare le differenze?

    potresti aiutatrmi con esempi scritti, non sono molto pratico in php purtroppo

    ti ringrazio per aiuto

  4. #4
    Originariamente inviato da guadagnaeuro
    Ciao

    c'è qualche soluzione per sistemare questa query?

    qualche conversione per fare le differenze?

    potresti aiutatrmi con esempi scritti, non sono molto pratico in php purtroppo

    ti ringrazio per aiuto
    la cosa piu' logica sarebbe portare tutti i valori in formato compatibile tra di loro.

    now() rende datetime in formato ansi yyyy-mm-dd hh:mm:ss
    la tua data varchar e' dd-mm-yy hh:mm
    la differenza da sottrarre 3000000 (3 milioni) cosa sono?

    Non si tratta di scrivere qualche riga di codice, ma di modificare uno script (spagnolo ed anche obsoleto) che faceva chissa' che.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.