Avatar billede scapuliz Nybegynder
23. april 2004 - 15:58 Der er 9 kommentarer og
1 løsning

Point system hjælp!

Hvordan gør jeg sådan at man får added nogle points f.eks. pr 10 min eller pr time i en database?
Avatar billede Slettet bruger
23. april 2004 - 16:04 #1
Du tilføjer f.eks. vha phps date(); funktion et timestamp i en kolonne i databasen.

Så henter du datoen ud igen, og tjekker, om sammenligner det nuværende timestamp med det der er indsat i tabellen.

Hvis det nuværende timestamp er 10 minutter ældre end det, du hentede ud af tabellen, så  skal det nye timestamp smides i tabellen, og der adderes 10 til point kolonnen.
Avatar billede Slettet bruger
23. april 2004 - 16:05 #2
mySQL behersker også selv dato funktioner, btw.
Avatar billede scapuliz Nybegynder
23. april 2004 - 16:07 #3
kan du f.x ikke give os et script ?? så få du dinne 200 point
Avatar billede Slettet bruger
23. april 2004 - 16:29 #4
Jo, jeg kan lige prøve..
Avatar billede jammerlab Nybegynder
23. april 2004 - 20:07 #5
Ha pacroon din gamle skumslukker ;)

scapuliz>> Du laver et iframe på din side (skjult) det vil sige:

<iframe src=refresh.php width=0 height=0 border=0></iframe>

I din refresh.php ligger du så bare:

echo "<meta http-equiv=\"refresh\" content=\"600\">";
$query = mysql_query("select * from ?? WHERE ?? = '??'")or die(mysql_error());
$row = mysql_fetch_array($query);

$point = $row[point] + 10;

mysql_query("UPDATE ?? set point='$point' WHERE id = '$_SESSION[chat_id]'")or die (mysql_error());

På denne måde adder den 10 point hvert 600 sekund... en simpel måde at gøre det på.
Avatar billede jammerlab Nybegynder
23. april 2004 - 20:08 #6
Rettelse>>
mysql_query("UPDATE ?? set point='$point' WHERE ?? = '??'")or die (mysql_error());

Aner jo ikke hvad dine mysql tabels hedder :)
Avatar billede hanshenp Nybegynder
24. april 2004 - 07:00 #7
talker det lyder lidt usikkert det der - ligeså snart side bliver reloadet er der point, du kunne også tilføje et datastamp i dine tabeller, og så tjekke på dem hver gang siden loades, hvis der er gået det ønskede interval kører du:

mysql_query("UPDATE ?? SET point=point+x WHERE id='$id'")
Avatar billede sukos Juniormester
24. april 2004 - 08:13 #8
sessions er vel oplagt at bruge

<?php
include("connect.php");

$pointupdate = 10; //antal point
$updatetid = 120; //Tid som skal gå i sek. før en update

session_start();

if(!isset($_SESSION["tid"])) {
$_SESSION["tid"] = time();
mysql_query("INSERT INTO `point` (`id`, `points`) VALUES ('". session_id() ."','". $pointupdate ."')") or die (mysql_error());
}else{
echo $_SESSION["tid"];

    if(time() > ($_SESSION["tid"]+$updatetid)) {
mysql_query("UPDATE `point` SET `points` = points+".$pointupdate." WHERE `id` = '". session_id() ."'") or die (mysql_error());
$_SESSION["tid"] = time();
    }
}
?>
Avatar billede sukos Juniormester
24. april 2004 - 08:24 #9
eller,


<?php
include("connect.php");

$pointupdate = 10; //antal point
$updatetid = 120; //Tid som skal gå i sek. før en update

session_start();

if(!isset($_SESSION["tid"])) {
$_SESSION["tid"] = time();
mysql_query("INSERT INTO `point` (`id`, `points`) VALUES ('". session_id() ."','". $pointupdate ."')") or die (mysql_error());
}else{

    if(time() > ($_SESSION["tid"]+$updatetid)) {
mysql_query("UPDATE `point` SET `points` = points+".$pointupdate." WHERE `id` = '". session_id() ."'") or die (mysql_error());
$_SESSION["tid"] = time();
    }
}

$hent = mysql_query("SELECT `points` FROM `point` WHERE `id` = '". session_id() ."'") or die (mysql_error());

echo "Du har ". mysql_result($hent, 0) ." point!";

?>
Avatar billede jammerlab Nybegynder
24. april 2004 - 12:42 #10
True :) Sessions er ikke nogen dum ide...
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