Avatar billede bigtime Nybegynder
15. februar 2009 - 21:24 Der er 8 kommentarer og
1 løsning

Counter fejl

jeg har det her stykke kode.
    $ip = $_SERVER['REMOTE_ADDR'];
    $side = $_SERVER['HTTP_HOST'];
    $ref = $_SERVER['HTTP_REFERER'];
    $sex = mysql_query("SELECT COUNT(*) AS `ialt` FROM counter WHERE ip='$ip' AND dato(time,interval 24 HOUR) > NOW() ORDER BY id DESC LIMIT 0,1");
if(mysql_result($sex)==0) { <--- linje 15
mysql_query("INSERT INTO counter (ip,side,ref,dato) VALUES ('$ip','$side','$ref',NOW())") or die(mysql_error());
}

den tæller ikke helt rigtig men kan ikke rigtif finde fejlen.
den sætter det godt nok rigtigt ind i databasen men men men,
den tæller også selvom jeg bare refriser siden og det skulle den jo ikke og ud over det så viser den fejl i toppen af siden.
Warning: Wrong parameter count for mysql_result() in /home/bla/bla/bla/counter.php on line 15
Avatar billede erikjacobsen Ekspert
15. februar 2009 - 21:30 #1
Hvad mener du med

  dato(time,interval 24 HOUR) > NOW()
Avatar billede bigtime Nybegynder
15. februar 2009 - 21:32 #2
den skal se om ip'en har været på siden inde for 24 timer
Avatar billede erikjacobsen Ekspert
15. februar 2009 - 21:32 #3
Og du kan iøvrigt se på http:/php.net/mysql_result at mysql_result tager to parametre. Det vil hjælpe en anelse at skrive:

  if(mysql_result($sex,0)==0) {
Avatar billede erikjacobsen Ekspert
15. februar 2009 - 21:33 #4
"den skal se om ip'en har været på siden inde for 24 timer " - ja, det er nok meningen. Men har det noget at gøre med de funktioner man kan bruge i MySql.
Avatar billede erikjacobsen Ekspert
15. februar 2009 - 21:35 #5
Du vil få mere hjælp til selvhjælp med denne konstruktion

    $sex = mysql_query("SELECT COUNT(*) AS `ialt` FROM counter WHERE ip='$ip' AND dato(time,interval 24 HOUR) > NOW() ORDER BY id DESC LIMIT 0,1") or die(mysql_error());
Avatar billede bigtime Nybegynder
15. februar 2009 - 21:46 #6
så virker det kom med et svar så har du pointne
Avatar billede erikjacobsen Ekspert
15. februar 2009 - 21:48 #7
Jeg samler slet ikke på point, tak. Svar selv, og accepter dit eget svar.

Og vis os helst hvad du kom frem til.
Avatar billede bigtime Nybegynder
15. februar 2009 - 22:07 #8
jeg smed or die(mysql_error());  efter det du sage så fandt jeg fejlen det var dato(time,interval 24 HOUR) efter jeg rettede den til date_add(dato,interval 24 HOUR) så virkede det
Avatar billede bigtime Nybegynder
16. februar 2009 - 00:26 #9
kan man det her ?
$sex = mysql_query("SELECT COUNT(*) AS `ialt` FROM counter WHERE ip='$ip' AND side='$side' AND date_add(dato,interval 24 HOUR) > NOW() GROUP BY ref ORDER BY id DESC LIMIT 0,1")or die(mysql_error());
if(mysql_result($sex,0)==0) {
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