+1 als je er op klik

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jasper den bleek

jasper den bleek

29/07/2012 19:12:43
Quote Anchor link
ik ben bezig met een nieuws systeem maar ik kom bij 1 ding niet uit als je op het titel klik voor naar dat artikel gaat hoe kan je dan doen als het
Quote:
gelezen
+1 gaat in de database ?

groetjes jasper
Gewijzigd op 29/07/2012 19:22:00 door Jasper den bleek
 
PHP hulp

PHP hulp

20/04/2024 09:38:40
 
Sam H

Sam H

29/07/2012 19:21:27
Quote Anchor link
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) ?
 
Jasper den bleek

jasper den bleek

29/07/2012 19:22:35
Quote Anchor link
ja, ik bedoel 5 keer refresh kijk dit heb ik nu :
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>
'
;
            }
        }
        
    }
    
?>
Gewijzigd op 29/07/2012 19:23:18 door jasper den bleek
 
Arend b

arend b

29/07/2012 19:24:26
Quote Anchor link
als het goed is heb je een database met:
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
 
Jasper den bleek

jasper den bleek

29/07/2012 19:27:01
Quote Anchor link
en gaat er dan 1 erbij ?
heb nu ook alle nieuws artikelen een ID gegeven
Gewijzigd op 29/07/2012 19:31:31 door jasper den bleek
 
Arend b

arend b

29/07/2012 19:34:04
Quote Anchor link
je moet dan wel eerst het getal van LEUK uit je database halen
dus in jou geval is het:
$row['leuk']++;
UPDATE database SET leuk=$row['leuk'] WHERE id=$id
 
Vincent Huisman

Vincent Huisman

29/07/2012 19:43:44
Quote Anchor link
ik zou de leuks in een aparte tabel bijhouden, zo kan je ook goed controleren of een persoon al +1 heeft gedaan
 
Arend b

arend b

29/07/2012 19:49:09
Quote Anchor link
dat is inderdaad wel beter om te voorkomen dat een artikel 100x is gelezen door maar 1 persoon
 
Eddy E

Eddy E

29/07/2012 19:52:17
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
UPDATE database SET leuk=$row['leuk'] WHERE id=$id


Afbeelding

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
update database SET leuk = leuk + 1 WHERE id = 1234



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)
PHP script in nieuw venster Selecteer het PHP script
1
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()
    );
";


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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.