----- Original Message -----
Sent: Wednesday, September 10, 2008 12:12
PM
Subject: [support] couple of issues with
an sql query and theming a db query
I posted on the d.o forum yesterday about putting
together a sql query for a block in which users are listed according to the
total pageviews their content had received. I got one or two suggestions but
nothing concrete so waded in to try and get it done myself. I've come up
against both sql problems and theming issues too.
The two relevant tables are node and
node_counter, so if we take some example data:
node
nid uid
1
1
2
2
3
1
4
1
5
2
node_counter
nid
totalcount
1
15
2
22
3
9
4
17
5
6
so I'm looking for a block that gives
me:
USER
PAGEVIEWS
John (uid 1)
41
Ned (uid 2)
28
so far, I have this:
<table><tr><td>Title</td><td>Pageviews</td></tr>
<?php
$uid
= $account->uid;
$query= "SELECT node.title, node.nid,
node_counter.totalcount FROM node INNER JOIN node_counter ON node.nid =
node_counter.nid WHERE uid = $uid ORDER BY totalcount DESC LIMIT
5";
$results = db_query($query);
while($output =
db_fetch_object($results)){
print "<tr><td>";
print "<a
href=\"/node/$output->nid\">";
print $output->title;
print
"</a>";
print "</td><td>";
print
$output->totalcount;
print
"</td></tr>";
}
?>
</table>
which gives me the top 5 viewed pages for each
user on their main /user page. It's very handy and I think I'll use it. Can
someone give me a pointer to go the next step towards my initial aim, the
total of a user's pageviews and then a list of the top X users on a site based
on pageviews. I know I need to use SUM in the sql statement but I don't seem
to be able to get the syntax right.
My other question regards the theming of the
output. You can see from my code that I've manually built the links...is there
an easier way to do it. I've used "$output .= node_title_list($result);"
before but that was just for a list of node titles, not for a table with 2-3
cols in it. Is there another theme function for what I'm trying to
do?
thanks in advance for any hints you can
give.
Neil
--
[ Drupal support list | http://lists.drupal.org/
]