source: subversion/applications/utils/tagstat/www/tagcor.php

Last change on this file was 19890, checked in by petschge, 10 years ago

Sort files into db/ and www/ folders

File size: 2.4 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<HTML>
3 <HEAD>
4  <TITLE>tagstat</TITLE>
5  <META http-equiv="content-type" content="text/html; charset=UTF-8">
6  <LINK rel="stylesheet" type="text/css" href="style.css">
7 </HEAD>
8 <BODY>
9<?php
10        require_once "DB.php";
11        include("config.php");
12        include("func.php");
13
14        $limit = getIntFromRequest("limit", 25);
15        $skip = getIntFromRequest("skip", 0);
16        $dir = getValueFromRequest("dir", "DESC", array("ASC", "DESC"));
17        $order = getValueFromRequest("order", "total", array("node", "way", "relation", "total"));
18
19        $invdir = flipDir($dir);
20        echo "<H1>".getPopWord($dir)." tag / tag combinations</H1>\n";
21
22        $dsn = "mysqli://$user:$passwd@$host/$db";
23        $conn =& DB::connect($dsn);
24        if (DB::isError($conn)) {
25                die ("Cannot connect: " . $conn->getMessage() . "\n");
26        }
27        $conn->query("SET NAMES utf8");
28
29        $result =& $conn->query("SELECT SUM(uses) FROM tags");
30        if (DB::isError($result)) {
31                die ("SELECT failed: " . $result->getMessage() . "\n");
32        }
33        $row =& $result->fetchRow();
34        $uses = $row[0];
35        $result->free();
36
37        $result =& $conn->query("SELECT SUM(c_total) FROM tagfriends");
38        if (DB::isError($result)) {
39                die ("SELECT failed: " . $result->getMessage() . "\n");
40        }
41        $row =& $result->fetchRow();
42        $total = $row[0];
43        $result->free();
44
45        $result =& $conn->query("SELECT a.tag, b.tag, (c.c_total / $total) - ((a.uses / $uses) * (b.uses / $uses)) AS cor FROM tags a, tags b, tagfriends c WHERE a.tag=c.tag1 AND b.tag=c.tag2 AND (a.uses / $uses) * (b.uses / $uses) > 0.00000001 AND (c_total / $total) > 0.0001 ORDER BY cor $dir LIMIT $skip, $limit");
46        if (DB::isError($result)) {
47                die ("SELECT failed: " . $result->getMessage() . "\n");
48        }
49        echo "<TABLE>\n";
50        echo "<TR>";
51        echo "<TH>tag 1</TH>";
52        echo "<TH>tag 2</TH>";
53        echo "<TH><A href=\"tagcor.php?dir=$invdir&order=$order&limit=$limit\">correlation</A></TH>";
54        echo "</TR>\n";
55        $i = 1;
56        while ($row =& $result->fetchRow()) {
57                if($i % 2) {
58                        $style="odd";
59                } else {
60                        $style="even";
61                }
62                printf('<TR class="%1$s"><TD><A href="tagdetails.php?tag=%2$s">%3$s</A></TD><TD><A href="tagdetails.php?tag=%4$s">%5$s</A></TD><TD class="count">%6$s</TD></TR>', $style, $row[0], displayTag($row[0]), $row[1], displayTag($row[1]), $row[2]);
63                echo "\n";
64                $i++;
65        }
66        echo "</TABLE>\n";
67        $result->free();
68        $conn->disconnect();
69
70        echo "<A href=\"index.php\">Back to index page</A>\n";
71?>
72 </BODY>
73</HTML>
Note: See TracBrowser for help on using the repository browser.