Avatar billede mysli Nybegynder
18. oktober 2006 - 19:21 Der er 1 kommentar og
1 løsning

Mysql opdaterer med 2 ad gangen

Jeg har en meget simpel kode, som skal opdatere antallet af visninger af en side. Ved ikke om jeg er for træt eller hvad, men kan slet ikke se hvor fejlen gemmer sig.

Problemet er, at hver gang jeg reloader siden, er tallet opdateret med +2.

    function set_visning($id){
        $sql = $_SESSION['db']->getArray("SELECT visning FROM opskrift WHERE id = '$id'");
        $sql['visning']++;
        $_SESSION['db']->runQuery("UPDATE opskrift SET visning = ".$sql['visning']." WHERE id = '$id'");       
    }

Denne funktion køres hver gang siden vises. Hvis jeg ændrer til dette;
function set_visning($id){
        $sql = $_SESSION['db']->getArray("SELECT visning FROM opskrift WHERE id = '$id'");
        var_dump($sql['visning']);
        $sql['visning']++;
        $_SESSION['db']->runQuery("UPDATE opskrift SET visning = ".$sql['visning']." WHERE id = '$id'");   
        var_dump($sql['visning']);   
    }

Så er det første den dumper, ex. 138 og det andet 139. Bliver funktionen kørt igen ændrer de værdi til 140 og 141. Kan slet ikke se nogen logik i det!
Avatar billede boost Nybegynder
18. oktober 2006 - 20:01 #1
Prøv denne:

function set_visning($id) {
if($_SESSION['hits'][$id] == false) {
    $sql = $_SESSION['db']->getArray("SELECT visning FROM opskrift WHERE id = '$id'");
    $_SESSION['db']->runQuery("UPDATE opskrift SET visning = $sql['visning']+1 WHERE id = '$id'");
$_SESSION['hest_hits'][$id] = true;
}
}
Avatar billede mysli Nybegynder
18. oktober 2006 - 20:10 #2
Alle tiders, havde ikke lige tænkt på de faktisk også bare kunne reloade siden. Kan stadig ikke forstå hvorofr den opdaterede 2 gange, men nu er problemet løst:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Netcompany A/S

Network Engineer

Riskpoint A/S (Riskpoint Solutions Limited)

IT Business Analyst