count probleem
ik tel hierdoor hun namen op (ja ik weet het had beter id's weggeschreven maa rben dat dus vergeten my bad)
ik heb volgende code
Code (php)
1
2
3
4
2
3
4
$sql = "SELECT COUNT(tblnieuwsreacties.nieuwsreactiesPoster),COUNT(tblstandpuntreacties.standpuntreactiesPoster),tblgebruikers.GebruikersNaam
FROM tblnieuwsreacties,tblstandpuntreacties,tblgebruikers
WHERE (tblnieuwsreacties.nieuwsreactiesPoster = tblgebruikers.GebruikersNaam AND
tblstandpuntreacties.standpuntreactiesPoster = tblgebruikers.GebruikersNaam) GROUP BY 2 ORDER BY 1 DESC LIMIT 0,5";
FROM tblnieuwsreacties,tblstandpuntreacties,tblgebruikers
WHERE (tblnieuwsreacties.nieuwsreactiesPoster = tblgebruikers.GebruikersNaam AND
tblstandpuntreacties.standpuntreactiesPoster = tblgebruikers.GebruikersNaam) GROUP BY 2 ORDER BY 1 DESC LIMIT 0,5";
maar ik krijg dan deze fout:
Can't group on 'COUNT(tblstandpuntreacties.standpuntreactiesPoster)'
dus hij struikelt op die group by 2
maar ik weet niet hoe ik dit anders kan doen ?
Iemand enige raad ?
vervang de 2 eens door de naam waarop je wilt groeperen.
het is toch mogelijk om varchars op te tellen , ik dacht van wel maar toch begin er nu aan te twijfelen ? :)
Code (php)
1
2
3
4
2
3
4
SELECT COUNT(tblstandpuntreacties.standpuntreactiesPoster), GebruikersLoginnaam FROM tblstandpuntreacties,tblgebruikers
WHERE tblstandpuntreacties.standpuntreactiesPoster = tblgebruikers.GebruikersLoginnaam
GROUP BY tblgebruikers.GebruikersLoginnaam
ORDER BY 1 DESC LIMIT 0,5
WHERE tblstandpuntreacties.standpuntreactiesPoster = tblgebruikers.GebruikersLoginnaam
GROUP BY tblgebruikers.GebruikersLoginnaam
ORDER BY 1 DESC LIMIT 0,5
en
Code (php)
1
2
3
4
2
3
4
SELECT COUNT(tblnieuwsreacties.nieuwsreactiesPoster), GebruikersLoginnaam FROM tblnieuwsreacties,tblgebruikers
WHERE tblnieuwsreacties.nieuwsreactiesPoster = tblgebruikers.GebruikersLoginnaam
GROUP BY tblgebruikers.GebruikersLoginnaam
ORDER BY 1 DESC LIMIT 0,5
WHERE tblnieuwsreacties.nieuwsreactiesPoster = tblgebruikers.GebruikersLoginnaam
GROUP BY tblgebruikers.GebruikersLoginnaam
ORDER BY 1 DESC LIMIT 0,5
Maaar ik krijg ze dus niet fatsoenlijk in elkaar verwegen :s
Ik heb géén idee of dat wel kan. Misschien iemand anders.
ik heb ondertussen hetvolgende samengesteld:
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
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
<?php
$sql = "SELECT COUNT( tblnieuwsreacties.nieuwsreactiesPoster ) , GebruikersLoginnaam
FROM tblnieuwsreacties, tblgebruikers
WHERE tblnieuwsreacties.nieuwsreactiesPoster = tblgebruikers.GebruikersLoginnaam
GROUP BY tblgebruikers.GebruikersLoginnaam
UNION ALL
SELECT COUNT( tblstandpuntreacties.standpuntreactiesPoster ) , GebruikersLoginnaam
FROM tblstandpuntreacties, tblgebruikers
WHERE tblstandpuntreacties.standpuntreactiesPoster = tblgebruikers.GebruikersLoginnaam
GROUP BY tblgebruikers.GebruikersLoginnaam
ORDER BY 1 DESC
LIMIT 0 , 5";
$query = mysql_query($sql) or die (mysql_error());
while ($line = mysql_fetch_array ($query, MYSQL_NUM))
{
$aantal = $line[0];
$t = $line[2];
$som = ($aantal+$t);
$gebruiker = $line[1];
echo '<fieldset>';
echo '<legend class="hoofdingstandpunt">'.$gebruiker.'
</legend>
<table>
<tr><td>Aantal posts : </td><td class="doaddstandpunt"> '.$som.'</td></tr>
</table>
</fieldset>';
echo '<br>';
}
?>
$sql = "SELECT COUNT( tblnieuwsreacties.nieuwsreactiesPoster ) , GebruikersLoginnaam
FROM tblnieuwsreacties, tblgebruikers
WHERE tblnieuwsreacties.nieuwsreactiesPoster = tblgebruikers.GebruikersLoginnaam
GROUP BY tblgebruikers.GebruikersLoginnaam
UNION ALL
SELECT COUNT( tblstandpuntreacties.standpuntreactiesPoster ) , GebruikersLoginnaam
FROM tblstandpuntreacties, tblgebruikers
WHERE tblstandpuntreacties.standpuntreactiesPoster = tblgebruikers.GebruikersLoginnaam
GROUP BY tblgebruikers.GebruikersLoginnaam
ORDER BY 1 DESC
LIMIT 0 , 5";
$query = mysql_query($sql) or die (mysql_error());
while ($line = mysql_fetch_array ($query, MYSQL_NUM))
{
$aantal = $line[0];
$t = $line[2];
$som = ($aantal+$t);
$gebruiker = $line[1];
echo '<fieldset>';
echo '<legend class="hoofdingstandpunt">'.$gebruiker.'
</legend>
<table>
<tr><td>Aantal posts : </td><td class="doaddstandpunt"> '.$som.'</td></tr>
</table>
</fieldset>';
echo '<br>';
}
?>
nu geeft ie weer
kristof aantal post : 2
kristof aantal post : 2
dus probleem is dat die $som = ($aantal+$t);
niet blijkt te werken