+1 als je er op klik
Quote:
+1 gaat in de database ?gelezen
groetjes jasper
Gewijzigd op 29/07/2012 19:22:00 door Jasper den bleek
Moet het uniek zijn (als 1 persoon het 5 keer leest, komt er toch maar 1 count bij) of niet uniek (dus als ik 5 keer refresh is het zogezegd 5x gelezen) ?
Quote:
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
50
51
52
53
54
55
56
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
50
51
52
53
54
55
56
<?php
include('config.php');
if(mysql_connect('localhost','*****','*****') === false)
{
echo 'fout bij verbinden db';
}
elseif(mysql_select_db('my_pretparkgids') === false)
{
echo 'Fout bij selecteren db';
}
else
{
$sql = "SELECT
titel,
tijd,
foto
FROM
nieuws
ORDER BY
tijd DESC
LIMIT 0,5
";
if(($result = mysql_query($sql)) === false)
{
echo 'Er zit een fout in je query';
}
elseif(($num = mysql_num_rows($result)) < 1)
{
echo 'Je query vond geen rows';
}
else
{
while($row = mysql_fetch_assoc($result))
{
echo '<li class="block block-full">
<div class="block-background">
<a href="#"><img src="images/nieuws/4.jpg" /></a>
</div>
<div class="block-content-bottom">
<div class="inner">
<h2 class="post-title"><a href="#">'.$row['titel'].'</a></h2>
<span class="post-sub-title">'.$row['tijd'].', 2012</span>
<div class="post-comments"><a href="#"></a></div>
</div>
</div>
</li>
';
}
}
}
?>
include('config.php');
if(mysql_connect('localhost','*****','*****') === false)
{
echo 'fout bij verbinden db';
}
elseif(mysql_select_db('my_pretparkgids') === false)
{
echo 'Fout bij selecteren db';
}
else
{
$sql = "SELECT
titel,
tijd,
foto
FROM
nieuws
ORDER BY
tijd DESC
LIMIT 0,5
";
if(($result = mysql_query($sql)) === false)
{
echo 'Er zit een fout in je query';
}
elseif(($num = mysql_num_rows($result)) < 1)
{
echo 'Je query vond geen rows';
}
else
{
while($row = mysql_fetch_assoc($result))
{
echo '<li class="block block-full">
<div class="block-background">
<a href="#"><img src="images/nieuws/4.jpg" /></a>
</div>
<div class="block-content-bottom">
<div class="inner">
<h2 class="post-title"><a href="#">'.$row['titel'].'</a></h2>
<span class="post-sub-title">'.$row['tijd'].', 2012</span>
<div class="post-comments"><a href="#"></a></div>
</div>
</div>
</li>
';
}
}
}
?>
Gewijzigd op 29/07/2012 19:23:18 door jasper den bleek
id onderwerp tekst
of zoiets degelijks dan een veld erbij maken met:
leuk
dan kun moet je verbinding maken met de database om je artikel uit te lezen en dan kun je gelijk een update uitvoeren
UPDATE database SET leuk=$leuk WHERE id=$id
heb nu ook alle nieuws artikelen een ID gegeven
Gewijzigd op 29/07/2012 19:31:31 door jasper den bleek
dus in jou geval is het:
$row['leuk']++;
UPDATE database SET leuk=$row['leuk'] WHERE id=$id
ik zou de leuks in een aparte tabel bijhouden, zo kan je ook goed controleren of een persoon al +1 heeft gedaan
dat is inderdaad wel beter om te voorkomen dat een artikel 100x is gelezen door maar 1 persoon
Hoef je niets te fetchen, niets te mysql_fetch_assoc()-en, niet uit te lezen én scheelt je weer een query. Zeker als je het goed met foutmeldingen wilt doen...
Toevoeging op 29/07/2012 19:56:16:
Beter nog:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql_query("
INSERT INTO gelezen
(
id, user_id,
nieuws_id,
datumtijd
)
VALUES
(
NULL,
".$_SESSION['user_id'].",
".intval($_GET['id'].",
NOW()
);
";
INSERT INTO gelezen
(
id, user_id,
nieuws_id,
datumtijd
)
VALUES
(
NULL,
".$_SESSION['user_id'].",
".intval($_GET['id'].",
NOW()
);
";
Dus gewoon per bezoek een rij invoegen met wat extra gegevens. Kan je gelijk zien hoe vaak iemand hetzelfde artikel opent, hoe laat, tijdsgrafieken maken en filteren op bla-bla-bla.
En nog genormaliseerd ook.
Ik heb express die NULL erin gezet. Anders missen we weer een gelezen_id etc.
Gewijzigd op 29/07/2012 19:57:39 door Eddy E