Aantal reacties per lid.
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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'];
}
?>
$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
Gewijzigd op 01/01/1970 01:00:00 door Leroy Boerefijn
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
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
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 ;
Gewijzigd op 01/01/1970 01:00:00 door Henk PHP
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
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'];
}
?>
$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
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?
Gewijzigd op 01/01/1970 01:00:00 door mark
Ik zou dus zorgen dat in de kolom user het id komt en niet de gebruikersnaam.
Je zou het zo kunnen doen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
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 . "'";
?>
$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)
1
2
3
4
5
6
7
8
9
10
11
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 . "'";
?>
$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
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.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
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 . "'";
?>
$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