Pagina 2 di 2 PrimoPrimo 12
Visualizzazione risultati 31 fino 42 di 42

Discussione: Eliminare record da MySQL dove la data è dell'altro ieri

  1. #31
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Bah non succede niente, non visualizzo niente:
    Codice PHP:
    <?php
    // Mi connetto al Database
    mysql_connect("localhost","miki92","") or die(mysql_error());
    mysql_select_db("my_miki92") or die(mysql_error());

    $sql = "select count ( * ) AS `Righe` , `data_toatli` FROM `visite` WHERE `data_totali` > ".(time()-86400);
    $c = mysql_query($sql);
    echo
    $c;
    ?>
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #32
    Guest

    Predefinito

    Sì, perché nel $sql hai scritto "data_toatli", invece devi scrivere "data_totali"

  3. #33
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Ho corretto ma nemmeno va...
    Apprezzi l'aiuto? Offrimi un caffè!

  4. #34
    Guest

    Predefinito

    Attendiamo debug, comunque nel frattempo prova a sostituire:

    (time()-86400)

    con:

    time()-86400


    perché ora quel punto prima di time funziona da congiunzione, non da virgola.



    Grazie,
    Ciao...

  5. #35
    Guest

    Predefinito

    Citazione Originalmente inviato da heidi52 Visualizza messaggio
    Attendiamo debug, comunque nel frattempo prova a sostituire:

    (time()-86400)

    con:

    time()-86400


    perché ora quel punto prima di time funziona da congiunzione, non da virgola.
    Non serve a nulla togliere le parentesi, il punto in questo topic ha sempre funzionato da congiunzione, mai da virgola.

    L'errore che commette miki è quello di (provare a) stampare il risultato di una query, la quale restituisce solo true o false, quindi quell'echo non produrrà mai nulla.
    Per fare questi test, fai prima a provare le query in phpmyadmin, almeno ti dice subito se c'è un errore di sintassi, se va a buon fine la query e quali risultati restituisce.


    Ciao!

  6. #36
    Guest

    Predefinito

    Forse miki deve sostituire questo:

    Codice PHP:
    <?php
    // Mi connetto al Database
    mysql_connect("localhost","miki92","") or die(mysql_error());
    mysql_select_db("my_miki92") or die(mysql_error());

    $sql = "select count ( * ) AS `Righe` , `data_totali` FROM `visite` WHERE `data_totali` > ".(time()-86400);
    $c = mysql_query($sql);
    echo
    $c;
    ?>
    Con questo:

    Codice PHP:
    <?php
    // Mi connetto al database
    $db = mysql_connect("localhost","miki92","") or die(mysql_error());

    // Seleziono il database
    mysql_select_db("my_miki92", $db) or die(mysql_error());

    // Eseguo 'sta query
    $query = mysql_query("select count ( * ) AS `Righe` , `data_totali` FROM `visite` WHERE `data_totali` > ".(time()-86400), $db);

    // Calcolo il numero delle righe UNICHE
    $c = mysql_num_rows($query);

    // Stampo a video
    echo $c;

    // Mi disconnetto dal database
    mysql_close();
    ?>

    Sempre se vuole vedere le visite uniche, vero debug?


    Grazie,
    Ciao...
    Ultima modifica di heidi52 : 24-04-2008 alle ore 21.54.57

  7. #37
    Guest

    Predefinito

    Prova così:
    Codice PHP:
    <?php
    // Mi connetto al Database
    mysql_connect("localhost","miki92","") or die(mysql_error());
    mysql_select_db("my_miki92") or die(mysql_error());

    $sql=mysql_query("SELECT COUNT(*) AS data_totali FROM visite WHERE data_totali >".(time()-86400)) or die(mysql_error());
    $righe=mysql_fetch_assoc($sql);
    echo
    $righe['campo1'];
    ?>
    Per le visite del giorno precedente metti:
    Codice PHP:
    WHERE data_totali <".(time()-86400)
    Per le visite uniche sostituisci data_totali con data_uniche; ricordati che quando la visita è la prima di quell' ip devi inserire la data anche nel campo data_totali.

  8. #38
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Un momento, sto facendo una grande confusione. Ora quali sono tra tutti quelli postati i codici che dovrei usare?
    Apprezzi l'aiuto? Offrimi un caffè!

  9. #39
    Guest

    Predefinito

    Questa query è per cancellare le righe precedenti di due giorni:

    Codice PHP:
    mysql_query("DELETE FROM visite WHERE data < '".(time()-178200)."'", $db);
    Funziona? Fammi sapere.


    Grazie,
    Ciao...
    Ultima modifica di heidi52 : 25-04-2008 alle ore 19.09.20

  10. #40
    Guest

    Predefinito

    Per visualizzare il numero di visite totali di oggi:
    Codice PHP:
    $sql=mysql_query("SELECT COUNT(*) AS data_totali FROM visite WHERE data_totali >".(time()-86400)) or die(mysql_error());
    $righe=mysql_fetch_assoc($sql);
    echo
    $righe['data_totali'];
    Per visualizzare il numero di visite totali di ieri:
    Codice PHP:
    $sql=mysql_query("SELECT COUNT(*) AS data_totali FROM visite WHERE data_totali <".(time()-86400)) or die(mysql_error());
    $righe=mysql_fetch_assoc($sql);
    echo
    $righe['data_totali'];
    Per visualizzare le visite uniche di oggi:
    Codice PHP:
    $sql=mysql_query("SELECT COUNT(*) AS data_uniche FROM visite WHERE data_uniche >".(time()-86400)) or die(mysql_error());
    $righe=mysql_fetch_assoc($sql);
    echo
    $righe['data_uniche'];
    Per visualizzare le visite uniche di ieri:
    Codice PHP:
    $sql=mysql_query("SELECT COUNT(*) AS data_uniche FROM visite WHERE data_uniche <".(time()-86400)) or die(mysql_error());
    $righe=mysql_fetch_assoc($sql);
    echo
    $righe['data_uniche'];
    Inoltre devi modificare una parte del codice che hai postato al #12 (non copiare tutto il post #12 ma modifica manualmente solo questa parte, devi aggiungere la data al campo data_totali anche quando la visita è unica):
    Codice PHP:
    $risultato = mysql_query("SELECT * FROM visite WHERE ip='{$ip}' LIMIT 1");
    if (
    mysql_num_rows($risultato)>0) {
    mysql_query("INSERT INTO visite(data_totali) values(\"".$data."\")") or die(mysql_error());
    }else{
    mysql_query("INSERT INTO visite (data_uniche,ip, data_totali) values(\"".$data."\",\"".$_SERVER['REMOTE_ADDR']."\",\"".$data."\")") or die(mysql_error());
    }

  11. #41
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    @heidi52 Eh Domani sera. Intendevo i codici per impostare e cancellare le visite.
    @Tecnoman Ora provo e ti faccio sapere.

    EDIT:
    Codice PHP:
    <?php
    // Mi connetto al Database
    mysql_connect("localhost","miki92","") or die(mysql_error());
    mysql_select_db("my_miki92") or die(mysql_error());

    $ip = mysql_escape_string($_SERVER['REMOTE_ADDR']);
    $data = time();

    $risultato = mysql_query("SELECT * FROM visite WHERE ip='{$ip}' LIMIT 1");
    if (
    mysql_num_rows($risultato)>0) {
    mysql_query("INSERT INTO visite(data_totali) values(\"".$data."\")") or die(mysql_error());
    }else{
    mysql_query("INSERT INTO visite (data_uniche,ip, data_totali) values(\"".$data."\",\"".$_SERVER['REMOTE_ADDR']."\",\"".$data."\")") or die(mysql_error());
    mysql_query("INSERT INTO visite(data_totali) values(\"".$data."\")") or die(mysql_error());
    }

    // Elimino le vecchie "cose"

    mysql_query("DELETE FROM visite WHERE (data_totali-172800) > ’$data‘") or die(mysql_error());

    ?>
    Questo è il codice che ho e questo è l'errore:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '’' at line 1
    Ultima modifica di miki92 : 25-04-2008 alle ore 19.04.52
    Apprezzi l'aiuto? Offrimi un caffè!

  12. #42
    Guest

    Predefinito

    a me problemi non ne da; prova a copiare questo codice così com'è ):
    Codice PHP:
    <?php
    // Mi connetto al Database
    mysql_connect("localhost","miki92","") or die(mysql_error());
    mysql_select_db("my_miki92") or die(mysql_error());

    $ip = mysql_escape_string($_SERVER['REMOTE_ADDR']);
    $data = time();

    $risultato = mysql_query("SELECT * FROM visite WHERE ip='{$ip}' LIMIT 1");
    if (
    mysql_num_rows($risultato)>0) {
    mysql_query("INSERT INTO visite(data_totali) values(\"".$data."\")") or die(mysql_error());
    }else{
    mysql_query("INSERT INTO visite (data_uniche,ip, data_totali) values(\"".$data."\",\"".$_SERVER['REMOTE_ADDR']."\",\"".$data."\")") or die(mysql_error());
    }

    // Elimino le vecchie "cose"

    mysql_query("DELETE FROM visite WHERE (data_totali-172800) > '$data'") or die(mysql_error());

    ?>

Pagina 2 di 2 PrimoPrimo 12

Regole di scrittura

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