teller
Maar zullen we verder gaan met de script??
* Bumpen * mag pas na 24 uur.
nu is het bijna 24 uur, dus ik bump alvast:)
bump
bump
je hebt nu al 3 x achter elkaar gebumped maar wat is nou precies het probleem?
Wat werkt er niet?
Ik begrijp het ook niet echt, er staan btw veel scripts in lib dus moet je ook maar is langsgaan :-)
Ik heb een spellen site en ik wil een teller plaatsen bij de spelletjes, ik wil weten hoevaak ze gespeeld zijn.
Erkan heeft de volgende script gestuurd:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$sql = "UPDATE actie SET bezoekers = bezoekers + 1";
if(!$result = mysql_query($sql)) die(mysql_error());
?>
$sql = "UPDATE actie SET bezoekers = bezoekers + 1";
if(!$result = mysql_query($sql)) die(mysql_error());
?>
Deze code doet +1 bezoeker bij alle actie spellen (UPDATE actie), maar dat is niet de bedoeling, het moet bij de spel waar het om gaat, dus dan moet het zoiets zijn:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$sql = "UPDATE actie SET bezoekers = bezoekers + 1 WHERE naam_spel = '" . $naam_spel . "' ";
if(!$result = mysql_query($sql)) die(mysql_error());
?>
$sql = "UPDATE actie SET bezoekers = bezoekers + 1 WHERE naam_spel = '" . $naam_spel . "' ";
if(!$result = mysql_query($sql)) die(mysql_error());
?>
MAAR dat werkt weer niet, mijn vraag was of iemand dit goed voor mij kon schrijven.
Wat werkt er niet? krijg je een foutmelding? Crashed je server? Met alleen 'het werkt niet' kunnen we vrijwel niets....
Nee ik krijg geen foutmelding, de spel doet het, maar er word alleen geen +1 bezoeker bijgerekend bij de spel
Waar plaats je deze query? Hoe roep je het aan?
Ik neem een voorbeeld en ik open pacman, dus ik open actie.php?spel=pacman als ik dit open moet de query verbinding maken met de database Actie, moet de spelnaam (naam_spel) opzoeken (in dit geval pacman) en moet bij kolom bezoekers +1 bezoeker zetten.
en $naam_spel defineer je neem ik aan, inclusief foutafhandeling?
Ja $naam_spel
bump
gebruik anders mijn teller (uit de script lib :) )
En hoe/waar geef je de waarde aan $naam_spel?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
CREATE TABLE `actie` (
`id` smallint(3) NOT NULL auto_increment,
`naam_spel` varchar(50) NOT NULL default '',
`screenshot` varchar(255) NOT NULL default '',
`html` longtext NOT NULL,
`ip` varchar(255) NOT NULL default '',
`bezoekers` mediumint(9) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `naam_spel` (`naam_spel`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
`id` smallint(3) NOT NULL auto_increment,
`naam_spel` varchar(50) NOT NULL default '',
`screenshot` varchar(255) NOT NULL default '',
`html` longtext NOT NULL,
`ip` varchar(255) NOT NULL default '',
`bezoekers` mediumint(9) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `naam_spel` (`naam_spel`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
//teller.php
include("dbconnect.php"); //het bestand waarin je een connectie met de database maakt
$plek = "indexpagina"; //de plek waar de teller komt te staan
$bezoekers = mysql_query("SELECT bezoekers FROM teller WHERE plek = '$plek'") or die(mysql_error()); //het aantal bezoekers uit de database halen
while ($row = mysql_fetch_array($bezoekers)){
$b = $row['bezoekers']+1; //het aantal bezoekers plus 1 (die ene is de bezoeker)
mysql_query("UPDATE teller SET bezoekers = '$b' WHERE plek = '$plek'") or die(mysql_error()); //het nieuwe aantal bezoekers in de database zetten
header("Content-type: image/gif"); //zeg dat je een gifplaatje gaat maken
$img = imagecreatefromgif("images/teller.gif"); //het achtergrondplaatje
// hieronder staan alle kleuren (in rgb waarde)
$schaduw = imagecolorallocate($img, 128, 128, 128);
$kleur = imagecolorallocate($img, 248, 164, 6);
// hieronder niks aanpassen, hiermee zorg je dat er genoeg nullen staan.
//als je meer of minder gebruikers wilt tellen mag je wel meer of minder 0'en typen
if ($b < 10){
$tekst = "0000" . $b;
}
elseif ($b < 100){
$tekst = "000" . $b;
}
elseif ($b < 1000){
$tekst = "00" . $b;
}
elseif ($b < 10000){
$tekst = "0" . $b;
}
else{
$tekst = $b;
}
}
$font = '../leroy/images/fonts/verdana.ttf'; //dit is de plek waar de tekst-font staat
imagettftext($img, 32, 0, 31, 43, $schaduw, $font, $tekst); // de schaduw van de tekst
imagettftext($img, 32, 0, 29, 41, $kleur, $font, $tekst); // de gewone tekst
imagegif($img); //plaatje aanmaken
imagedestroy($img); //plaatje verwijderen uit geheugen
//op de plek waar je dit wilt toevoegen gebruik je <img src="teller.php">
?>
//teller.php
include("dbconnect.php"); //het bestand waarin je een connectie met de database maakt
$plek = "indexpagina"; //de plek waar de teller komt te staan
$bezoekers = mysql_query("SELECT bezoekers FROM teller WHERE plek = '$plek'") or die(mysql_error()); //het aantal bezoekers uit de database halen
while ($row = mysql_fetch_array($bezoekers)){
$b = $row['bezoekers']+1; //het aantal bezoekers plus 1 (die ene is de bezoeker)
mysql_query("UPDATE teller SET bezoekers = '$b' WHERE plek = '$plek'") or die(mysql_error()); //het nieuwe aantal bezoekers in de database zetten
header("Content-type: image/gif"); //zeg dat je een gifplaatje gaat maken
$img = imagecreatefromgif("images/teller.gif"); //het achtergrondplaatje
// hieronder staan alle kleuren (in rgb waarde)
$schaduw = imagecolorallocate($img, 128, 128, 128);
$kleur = imagecolorallocate($img, 248, 164, 6);
// hieronder niks aanpassen, hiermee zorg je dat er genoeg nullen staan.
//als je meer of minder gebruikers wilt tellen mag je wel meer of minder 0'en typen
if ($b < 10){
$tekst = "0000" . $b;
}
elseif ($b < 100){
$tekst = "000" . $b;
}
elseif ($b < 1000){
$tekst = "00" . $b;
}
elseif ($b < 10000){
$tekst = "0" . $b;
}
else{
$tekst = $b;
}
}
$font = '../leroy/images/fonts/verdana.ttf'; //dit is de plek waar de tekst-font staat
imagettftext($img, 32, 0, 31, 43, $schaduw, $font, $tekst); // de schaduw van de tekst
imagettftext($img, 32, 0, 29, 41, $kleur, $font, $tekst); // de gewone tekst
imagegif($img); //plaatje aanmaken
imagedestroy($img); //plaatje verwijderen uit geheugen
//op de plek waar je dit wilt toevoegen gebruik je <img src="teller.php">
?>