• User Attivo

    Contatore visite php+mysql impazzito

    Ciao a tutti,
    ho necessità di creare un semplice contatore che all'aprirsi di una pagina incrementi il suo valore nel database.
    Ho creato questa funzione:

    [php]
    function playCount($id, $cat) {
    $sql = "SELECT ContatorePartite FROM games WHERE id=$id AND Categoria='$cat'";
    $res = mysql_query($sql)
    or $this->Error("query non valida: $sql");
    $res = mysql_fetch_array($res);
    $res = $res["0"];
    $res++;

        $sql2 = "UPDATE games SET ContatorePartite = $res WHERE id=$id AND Categoria='$cat'";
        
        mysql_query($sql2)
            or $this->Error("query non valida: $sql2");
    }
    

    [/php]In pratica fa una select del numero di visite attuali, prende il valore, ci somma 1 e poi fa l'update del nuovo valore.

    Ho tra l'altro scoperto che mi sono un po' complicato la vita, scoprendo che potevo semplicemente fare così (credo):

    [php]
    function playCount($id, $cat) {
    $res = mysql_query("UPDATE games SET ContatoreVisite = ContatoreVisite+ 1 WHERE id=$id AND Categoria='$cat'");
    }[/php]

    La funzione viene poi chiamata semplicemente all'interno della pagina.

    Il problema è che sembra che la query venga richiamata all'infinito, facendo incrementare il campo nel Db all'infinito senza che la pagina venga ricaricata!
    La chiamata alla funzione non è ovviamente in nessun ciclo che potrebbe causarne la ripetizione, ed ho anche provato a metterla direttamente nel codice della pagina.

    Grazie in anticipo!


  • ModSenior

    Ciao francy88,

    il codice mi sembra corretto, il problema dovrebbe essere altrove.


  • User Attivo

    Ciao francy88, una volta ho fatto una cosa del genere usando un file .txt
    se trovo il codice lo commento e te lo passo, era molto semplice
    ciao da danny