Annotation of db/prgsrc/dbxml.php, revision 1.3
1.1 roma7 1: <?php
2: $hostname = "localhost";
3: $database = "chgk";
4: $username = "piataev";
5: $password = "";
6:
7: $link = mysql_connect($hostname.':'.$port, $username, $password) or die("Can't connect to database");
8: mysql_select_db($database,$link) or die ("Can't select to database");
9: mysql_query ("SET NAMES 'utf8'");
10: $tour = $_GET['tour'];
11:
12:
13: $xw = new xmlWriter();
14: $xw->openMemory();
15: $xw->startDocument('1.0','utf8');
16: $xw->startElement('tournament');
1.2 roma7 17: $tournament = getTournament($tour);
18:
1.1 roma7 19: foreach ($tournament as $key => $value)
20: {
21: $xw->writeElement ($key, $value);
22: }
23:
1.2 roma7 24: printTours($tournament[Id]);
25:
26: printQuestions($tournament[Id]);
27:
1.3 ! roma7 28: $xw->endElement();
1.2 roma7 29:
30: $xmlResult = $xw->outputMemory(true);
31: $xmlResult = preg_replace('/\>\s*\</', ">\n<", $xmlResult);
32:
33: header("Content-Type: text/xml");
34:
35: print $xmlResult;
36:
37: function printTours($tourId) {
38: global $xw;
39: $sth = mysql_query("SELECT * FROM Tournaments WHERE ParentId =".$tourId);
40:
41: while ($tour = mysql_fetch_assoc($sth) )
42: {
43: $xw->startElement('tour');
44: foreach ($tour as $key => $value)
45: {
46: $xw->writeElement($key, $value);
47: }
1.3 ! roma7 48: $xw->endElement();
1.2 roma7 49: }
50:
51: }
52:
1.1 roma7 53:
1.2 roma7 54: function printQuestions ($tourId)
1.1 roma7 55: {
1.2 roma7 56: global $xw;
57: $sth = mysql_query("SELECT * FROM Questions WHERE ParentId =".$tourId);
58:
59: while ($question = mysql_fetch_assoc($sth) )
60: {
1.1 roma7 61: $xw->startElement('question');
62: foreach ($question as $key => $value)
63: {
64: $xw->writeElement($key, $value);
65: }
1.3 ! roma7 66: $xw->endElement();
1.2 roma7 67: }
68:
1.1 roma7 69: }
70:
71:
72:
1.2 roma7 73: function getTournament($tour) {
74: $id = textId2Id($tour);
75:
76: $sth = mysql_query("SELECT * FROM Tournaments WHERE Id=$id") or die(mysql_error());
77: $tournament = mysql_fetch_assoc($sth);
78: return $tournament;
79: }
1.1 roma7 80:
1.2 roma7 81: function textId2Id($tour) {
82: if (preg_match('/\./',$tour))
83: {
84: $temp = explode('.', $tour);
85: $fname=$temp[0];$n=$temp[1];
86: $sth = mysql_query(
87: $sql="SELECT t2.Id FROM Tournaments as t1,
88: Tournaments as t2
89: WHERE (t1.FileName = '$fname.txt' OR t1.FileName='$fname')
90: AND t1.Id=t2.ParentId AND t2.Number=$n") or die(mysql_error().": $sql");
91: }
92: else
93: {
94: $sth=mysql_query($sql="SELECT Id FROM Tournaments WHERE FileName = '$tour.txt' OR FileName = '$tour'") or die (mysql_error().": $sql");
95: }
1.1 roma7 96:
1.2 roma7 97: $res = mysql_fetch_row ($sth);
98: $id=$res[0];
99: return $id;
100: }
1.1 roma7 101:
102: ?>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>