[support] couple of issues with an sql query and theming a db query

Neil: esl-lounge.com neil at esl-lounge.com
Wed Sep 10 10:12:27 UTC 2008


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











-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/support/attachments/20080910/91701cb9/attachment.htm 


More information about the support mailing list