Avatar billede -xyz- Nybegynder
18. september 2003 - 13:47 Der er 14 kommentarer og
1 løsning

Problem med counter

Hej jeg har hjemmefusket en counter der bruger mysql, men når den skal sætte et ekstra tal på så stopper den med at tælle... er der nogen af jeg der ved hvad der kan være galt?

<?
        include "access.php";
    $sql = mysql_query("Select * From counter");
    $rs = mysql_fetch_array($sql);
   
        if ($_SESSION['counter'] == "") {
   
        $count = $rs['count'] + 1;
    mysql_query("Update counter Set count='$count'");
    $_SESSION['counter'] = "visited";
   
        $second = mysql_query("Select * From counter");
    $rst = mysql_fetch_array($second);
    echo $rst['count'];
   
} else {$third = mysql_query("Select * From counter");
    $rss = mysql_fetch_array($third);
    echo $rss['count'];}
        ?>
Avatar billede erikjacobsen Ekspert
18. september 2003 - 13:49 #1
Har du defineret felttypen som INT(1) ?
Avatar billede -xyz- Nybegynder
18. september 2003 - 13:58 #2
nope, den er INT(10) for at være på den sikre side ;)
Avatar billede -xyz- Nybegynder
18. september 2003 - 13:59 #3
den laver det samme problem fra 99 til 100
Avatar billede erikjacobsen Ekspert
18. september 2003 - 14:06 #4
Jeg forstår ikke heeelt hvad du mener der er galt. Men vi kan da
hurtigt gøre din kode en del pænere. Om den bliver mere korrekt vides ikke:

<?
  include "access.php";
 
  if ($_SESSION['counter'] == "") {
    mysql_query("Update counter Set count=count+1") or die(mysql_error());
    $_SESSION['counter'] = "visited";
  }

  $third = mysql_query("Select * From counter");
  $rss = mysql_fetch_array($third);
  echo $rss['count'];}
?>
Avatar billede -xyz- Nybegynder
18. september 2003 - 14:26 #5
problemet er at hvis jeg har haft 9 besøgende går den ikke videre fra 9 til 10 når den 10'ende besøgende kommer, og den laver samme fejl når den går videre fra 99 til 100
Avatar billede erikjacobsen Ekspert
18. september 2003 - 14:41 #6
Jamen så kommer den jo aldrig til 99, hvis den stopper ved 9? Det er det jeg
ikke forstår i din formulering.
Avatar billede -xyz- Nybegynder
18. september 2003 - 21:50 #7
det er fordi det er en database så jeg var inde og redigere datrabasen manuelt og sætte den til 99 for at teste om detsamme skete ved 99 som der skete ved 9...
Avatar billede erikjacobsen Ekspert
18. september 2003 - 21:52 #8
Mit forslag fra kl. 14:06:50 - fungerer det bedre?
Avatar billede -xyz- Nybegynder
18. september 2003 - 21:55 #9
nope, det producere en parse error
Avatar billede -xyz- Nybegynder
18. september 2003 - 21:56 #10
forstår du hvad jeg mener altså den laver fejl når den skal skifte fra 1 tal til to og fra to til tre osv...
Avatar billede erikjacobsen Ekspert
18. september 2003 - 21:59 #11
Så

<?
  include "access.php";

  if ($_SESSION['counter'] == "") {
    mysql_query("Update counter Set count=count+1") or die(mysql_error());
    $_SESSION['counter'] = "visited";
  }

  $third = mysql_query("Select * From counter");
  $rss = mysql_fetch_array($third);
  echo $rss['count'];
?>

der var en } for meget ;)
Avatar billede -xyz- Nybegynder
18. september 2003 - 22:04 #12
Det hjalp sq, tusind tak for hjælpen... smid et svar så du kan få nogle points...
Avatar billede erikjacobsen Ekspert
18. september 2003 - 22:06 #13
okay - synd vi ikke lige fik opklaret hvorfor ...
Avatar billede -xyz- Nybegynder
18. september 2003 - 22:11 #14
ja, jeg tror det var noget med de variabler, det var osse en meget hurtig løsning...
Avatar billede -xyz- Nybegynder
18. september 2003 - 22:11 #15
mange tak for hjælpen forresten ;)
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