Avatar billede djicep Nybegynder
03. februar 2007 - 00:10 Der er 22 kommentarer og
1 løsning

+1 i mysql

Hejsa Eksperter!

Jeg har lige et spørgsmål som sikkert er monster simpelt og håber i kan hjælpe ?

Jeg er igang med at lave en kode som går ind og registrere visits på min side. Det jeg så gerne vil vide er om jeg kan gå ind i min mysql query og få den til at +1 hver gang der er et nyt visit på siden eller om man skal lave en lidt mere omfattende kode for det ??

På Forhånd mange tak :)
Avatar billede esben85 Nybegynder
03. februar 2007 - 00:23 #1
update VisitTable set numVisits = ( (select numVisits from VisitTable) + 1 )
Avatar billede djicep Nybegynder
03. februar 2007 - 00:28 #2
Oki tak ? Hvordan gør jeg så sådan at man ikke bare kan trykke opdatere :P
Avatar billede esben85 Nybegynder
03. februar 2007 - 00:31 #3
så skal du lave et noget php kode der tjekker, om ip-addressen er den samme som før. den ip adresse skal du så gemme. Det kan være, at du kan nøjes med en session til det.
Avatar billede djicep Nybegynder
03. februar 2007 - 00:34 #4
ja okay :) Det må jeg så se om jeg kan finde ud af hehe
Avatar billede djicep Nybegynder
03. februar 2007 - 00:37 #5
mysql_query("UPDATE blablaprofiles SET besog=((SELECT besog FROM blablaprofiles)+1)") Det ændre ingenting desvære :(
Avatar billede esben85 Nybegynder
03. februar 2007 - 00:42 #6
hmmm det burde virke.
er besog en int, og er den sat til 0. jeg tror ikke det virker, hvis startværdien er null.
null + 1 = ??? = null
Avatar billede djicep Nybegynder
03. februar 2007 - 00:45 #7
Jamen har ikke sat den til null men har sat en standard værdi på 0 :S Men den skriver bare ingenting til den. Den står stadig til 0. :S
Avatar billede djicep Nybegynder
03. februar 2007 - 00:48 #8
Altså sådan her ser koderne ud ? Ved ikke om jeg har gjort nået forkert der ? :S

<?
    $id = isset($_GET[id])?$_GET[id]:$_SESSION[userId];
?>

<?
            if( $id != $_SESSION[userId] ) {
            mysql_query("UPDATE blablaprofiles SET besog=((SELECT besog FROM blablaprofiles)+1)");   
            {
        ?>

<?
            }
                }
               
        ?>
Avatar billede schaefner Juniormester
03. februar 2007 - 00:51 #9
mysql_query("UPDATE blablaprofiles SET besog=besog+1");
Avatar billede djicep Nybegynder
03. februar 2007 - 00:52 #10
Det skal lige siges de står ikke sammen sådan men har bare taget de koder der skulle ha nået med functionen at gøre ?
Avatar billede schaefner Juniormester
03. februar 2007 - 00:52 #11
Men den opdaterer "besog" i samtlige records
Avatar billede djicep Nybegynder
03. februar 2007 - 00:54 #12
Ja okay nu ændre den sig så bare ved alle brugerne :P

Men i det mindste giver den da et udslag :P
Avatar billede djicep Nybegynder
03. februar 2007 - 00:55 #13
Ja det skal den så ikke :P Den skal kun gøre det for den enkelte userId du er inde at besøge :/
Avatar billede schaefner Juniormester
03. februar 2007 - 01:01 #14
<?php
$id = isset($_GET['id']) ? intval($_GET['id']) : $_SESSION['userId'];

if ($id != $_SESSION['userId']) {
    mysql_query("UPDATE `blablaprofiles` SET `besog`=`besog`+1 WHERE `id` = ".$id);
}
?>
Avatar billede djicep Nybegynder
03. februar 2007 - 01:01 #15
Æv nu troede jeg lige jeg havde løsningen til det :S Men det virker sQ ikke :(
Avatar billede schaefner Juniormester
03. februar 2007 - 01:04 #16
<?php
$id = isset($_GET['id']) ? intval($_GET['id']) : $_SESSION['userId'];

mysql_query("UPDATE `blablaprofiles` SET `besog` = `besog`+1 WHERE `id` = ".$id) or die(mysql_error());
?>

Den opdaterer den valgte profil. Så vidt jeg forstår på din kode viser den brugerens egen profil hvis ikke $_GET['id'] er sat?
Avatar billede djicep Nybegynder
03. februar 2007 - 01:05 #17
Ja og så skal den ikke opdatere med 1. Altså den skal ikke opdatere med 1 hvis det f.eks er min egen profil jeg går på. Men hvis jeg går til en anden profil skal den jo opdatere deres besøg med 1 :S Måske det er helt forkert det jeg har skrevet så ?
Avatar billede djicep Nybegynder
03. februar 2007 - 01:13 #18
Oki den du lige har givet mig der giver min bruger dem ? Der skulle den helt ikke gi nået altså når jeg logger på min egen. Kun når jeg logger på en andens :S Men kan ikke lige gennemskue den helt :(
Avatar billede schaefner Juniormester
03. februar 2007 - 01:14 #19
<?php
$id = isset($_GET['id']) ? intval($_GET['id']) : $_SESSION['userId'];

if ($id != $_SESSION['userId']) {
    mysql_query("UPDATE `blablaprofiles` SET `besog` = `besog`+1 WHERE `id` = ".$id) or die(mysql_error());
}
?>
Avatar billede djicep Nybegynder
03. februar 2007 - 01:16 #20
Så er den fikset :P Så skal jeg bare ha lavet sådan at man ikke bare kan opdatere og gi en en masse hits :P
Avatar billede djicep Nybegynder
03. februar 2007 - 01:18 #21
Men takker schaefner :P

Så vil jeg gerne ha et svar så du kan få nogle points som tak for hjælpen. :)

Så må vi se om jeg kan finde ud af at lave det med at man ikke bare kan opdatere :P
Avatar billede schaefner Juniormester
03. februar 2007 - 01:20 #22
Svar :)
Avatar billede djicep Nybegynder
03. februar 2007 - 01:21 #23
Kan man lave det på en nem måde eller ? :) Kan være du lige hurtigt kan svare mig på det ? :D
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