Aantal reacties per lid.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark

mark

12/01/2008 19:20:00
Quote Anchor link
Hey,

Ik zit met een vraag.
Hoe kan ik het aantal reacties per lid van me website tonen?

Totaal aantal reacties laat ik zo zien,

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
<?php
$sql
= "
    SELECT COUNT(*) AS aantal
    FROM reacties
    "
;

if(!$res = mysql_query($sql))
{

    trigger_error(mysql_error().'<br>In query: '.$sql);
}

else
{
    $row = mysql_fetch_assoc($res);
    echo 'Aantal reacties op nieuwsberichten: '.$row['aantal'];
}

?>


maar ik wil dat het ook zichtbaar word op de profiel pagina van een lid hoeveel reacties die gepost heeft.

In de tabel Leden in mijn database staan de leden onder ID, en in tabel reacties worden de velden id, nieuwsid en user gebruikt.

meer info nodig, vraag gerust.

Alvast bedank
Mark
 
PHP hulp

PHP hulp

21/11/2024 22:16:24
 
Leroy Boerefijn

Leroy Boerefijn

12/01/2008 19:35:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
$sql = "SELECT
                COUNT(*)
                    AS
                        aantal
            FROM
                reacties
            WHERE
                user = '" . $user . "'";
Gewijzigd op 01/01/1970 01:00:00 door Leroy Boerefijn
 
Mark

mark

12/01/2008 21:25:00
Quote Anchor link
@ Leroy,

In het veld user komen alleen de namen te staan van de persoon die reactie plaatst. Hij moet dus weten welk ID bij welke reacties hoort.

ID staat in tabel Leden
en user in tabel reacties
 
Henk PHP

Henk PHP

12/01/2008 21:32:00
Quote Anchor link
Geef eens de hele tabellen
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
 
Mark

mark

12/01/2008 21:54:00
Quote Anchor link
Tabel structuur voor tabel `reacties`

CREATE TABLE `reacties` (
`id` int(11) NOT NULL auto_increment,
`nieuwsid` int(11) NOT NULL,
`user` varchar(200) default NULL,
`bericht` longtext,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=29 ;


Tabel structuur voor tabel `Leden`

CREATE TABLE `Leden` (
`ID` mediumint(10) NOT NULL auto_increment,
`Gebruikersnaam` varchar(50) NOT NULL default '',
`Wachtwoord` varchar(32) NOT NULL default '',
`Naam` varchar(50) NOT NULL default '',
`Mail` varchar(255) NOT NULL default '',
`Status` varchar(50) NOT NULL default '',
`IPadres` varchar(32) NOT NULL default '',
`Aanmelddatum` int(10) NOT NULL default '0',
`Inlogdatum` int(10) NOT NULL default '0',
`Wijzigdatum` int(10) NOT NULL default '0',
`MailAdresZien` enum('0','1') NOT NULL default '0',
`BerichtenMailen` enum('0','1') NOT NULL default '0',
`Verbannen` enum('0','1') NOT NULL default '0',
`Bevestigen` varchar(10) NOT NULL default '',
PRIMARY KEY (`ID`),
KEY `Gebruikersnaam` (`Gebruikersnaam`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;
 
Henk PHP

Henk PHP

12/01/2008 22:01:00
Quote Anchor link
Wat wil je nu precies? Waarom kun je de code van Leroy niet gebruiken?
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
 
Mark

mark

12/01/2008 22:12:00
Quote Anchor link
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
<?php
$sql
= "
    SELECT
    count(r.id) AS aantal, l.id
FROM reacties r
LEFT JOIN
     Leden l
         ON r.user = l.id
WHERE l.id = $lidid
GROUP BY
    l.id
    "
;

if(!$res = mysql_query($sql))
{

    trigger_error(mysql_error().'<br>In query: '.$sql);
}

else
{
    $row = mysql_fetch_assoc($res);
    echo 'Aantal reacties: '.$row['aantal'];
}

?>


Op deze manier werkt die niet

ps. ik wil dat op elke profiel word getoond hoeveel reacties die persoon heeft geplaatst. als ik die van Leroy gebruik blijft alles op 0 staan.
Gewijzigd op 01/01/1970 01:00:00 door mark
 
Henk PHP

Henk PHP

12/01/2008 22:14:00
Quote Anchor link
Nee, daar kwam ik ook achter. Maar wat wil je nu precies? Wil je op een profiel pagina van een lid laten zien hoeveel reacties hij heeft of wat?
 
Henk PHP

Henk PHP

12/01/2008 22:18:00
Quote Anchor link
Heb je in de tabel reacties als kolom user de Gebruikersnaam van de gebruiker of het ID?
Edit:

Niet Bumpen.
Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
 
Mark

mark

12/01/2008 22:18:00
Quote Anchor link
Gebruikersnaam
Gewijzigd op 01/01/1970 01:00:00 door mark
 
Henk PHP

Henk PHP

12/01/2008 22:23:00
Quote Anchor link
Dat is niet zo handig, je kunt beter het ID van de gebruikers doen, daar is het immers voor. Als je nu zijn naam verandert dan zijn die reacties 'niet meer van die gebruiker'.

Ik zou dus zorgen dat in de kolom user het id komt en niet de gebruikersnaam.

Je zou het zo kunnen doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$user
= "Pietje"///  hier dus de naam van je gebruiker
$sql = "SELECT
                COUNT(*)
                    AS
                        aantal
            FROM
                reacties
            WHERE
                user = '"
. $user . "'";
?>

nogmaals dit is niet handig
ik zou het zo doen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$user
= "23"///  hier dus het id van je gebruiker
$sql = "SELECT
                COUNT(*)
                    AS
                        aantal
            FROM
                reacties
            WHERE
                user = '"
. $user . "'";
?>
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
 
Mark

mark

12/01/2008 22:28:00
Quote Anchor link
Ja, maar dit gaat dan niet automatisch? Dus zo id=.. dat die daar dan vanzelf ID aan vast maakt en uitlees hoeveel reacties bij dat ID hoort.
 
Henk PHP

Henk PHP

12/01/2008 22:31:00
Quote Anchor link
Als je bijvoorbeeld hebt 'profiel.php?gebruiker=Pietje'.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$user
= $_GET['gebruiker'];///  hier dus de naam van je gebruiker
$sql = "SELECT
                COUNT(*)
                    AS
                        aantal
            FROM
                reacties
            WHERE
                user = '"
. $user . "'";
?>


Maar pas je tabellen en script even aan zodat de userkolom het id is, dat is veel handiger.
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
 



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.