WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Rådgivning med databas frågor. (https://www.wn.se/forum/showthread.php?t=35522)

Robert 2009-03-05 11:53

Varför inte köra updaten via ett ajaxanrop då dessa inte påverkas (körs igen) av sidrefresh?

oloflolof 2009-03-05 13:24

Citat:

Originally posted by Robert@Mar 5 2009, 11:53
Varför inte köra updaten via ett ajaxanrop då dessa inte påverkas (körs igen) av sidrefresh?
Men om man kör med javascript och ajax så kommre inte klick räknas på dom besökare som har javascript avaktiverat.
eller?

martine 2009-03-05 15:00

Citat:

Originally posted by oloflolof@Mar 5 2009, 14:24
Men om man kör med javascript och ajax så kommre inte klick räknas på dom besökare som har javascript avaktiverat.
För det första är det ju nuförtiden få som inte har js aktiverat och för det andra är det ju lätt gjort att få dessa via en nyladdning av sidan (via noscript eller någon annan mekanism).

oloflolof 2009-03-06 16:02

Citat:

Ursprungligen postat av martine
Citat:

Ursprungligen postat av oloflolof
Men om man kör med javascript och ajax så kommre inte klick räknas på dom besökare som har javascript avaktiverat.

För det första är det ju nuförtiden få som inte har js aktiverat och för det andra är det ju lätt gjort att få dessa via en nyladdning av sidan (via noscript eller någon annan mekanism).

Jo det är sant. Men jag tycker nog fortfarande förslaget innan låter bättre.
Men ajax är fortfarande ingen dålig lösning.

Är tacksam för alla förlsag! Kommer titta på det första nu. :)

oloflolof 2009-03-06 17:27

Hej igen, har kommit en bit på vägen och har en fråga.
Denna kod för jag på varje spel
Kod:

$sqlklick = "INSERT DELAYED INTO klick(unik_session_id,typ,typ_id)
 * * * * * *VALUES('".$unik_session_id ."', 'onlinespel', *'".$onlinespel[id]."')";
 * *mysql_query($sqlklick) or die(mysql_error());

Såhär ser min tabell ut
Citat:

unik_session_id * varchar(50) * latin1_swedish_ci * * * * * * *
typ *varchar(10) *latin1_swedish_ci *
typ_id *int(11) *

Såhär långt funkar allt bra och värderna kommer in i databasen.

Men det är nu i cron.php jag behöver hjälp och rådgivning
Jag vet faktiskt inte riktigt hur jag ska bygga upp denna biten på bäst sätt. Men om man börjar med något sånthär.


Kod:

$sql = mysql_query("SELECT * FROM klick WHERE typ = 'onlinespel'")or die(mysql_error());
while($klick = mysql_fetch_array($sql)) {
// Tittar om han skrev ut rätt, och det gjorde han
echo $klick[typ].": ".$klick[typ_id]." -----" .$klick[unik_session_id]."<br />";

Sen måste jag ju filtrera bort alla dubbletter innan jag kör en insert. Men jag vet faktiskt inte hur man gör en sådan.
Någon som har nån ide?

MVH Olof

oloflolof 2009-03-07 19:05

Har nu löst cron.php filen också Såhär blev det ifall någon kommer vilja ha samma lösning i framtiden.
Kod:

$sql = mysql_query("SELECT distinct *unik_session_id, typ_id, ip,typ FROM klick * ")or die(mysql_error());

while($klick = mysql_fetch_array($sql)) {
echo $klick[typ_id]." - - - - - " .$klick[unik_session_id]."--<br />";
$total_klick[$klick[typ_id]] = $total_klick[$klick[typ_id]] +1;

mysql_query("UPDATE ".$klick[typ]." SET klick=klick +1 WHERE id = ".$klick[typ_id]." ")or die(mysql_error());
if($klick[typ] == "onlinespel"){
mysql_query("UPDATE ".$klick[typ]." SET dagensklick=dagensklick +1 WHERE id = ".$klick[typ_id]." ")or die(mysql_error());
}
}
mysql_query("TRUNCATE TABLE klick");

Tack för allas hjälp!

MVH Olof


Alla tider är GMT +2. Klockan är nu 07:52.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson