· 8 years ago · Jun 02, 2018, 02:02 PM
1<?php
2// Подключение к БД
3$db = new PDO("mysql:host=localhost;dbname=sitnya;charset=utf-8", 'sitnya', '123');
4/* Дамп БД
5CREATE TABLE IF NOT EXISTS `reader` (
6 `id` int(11) NOT NULL AUTO_INCREMENT,
7 `title` varchar(255) NOT NULL,
8 `link` varchar(255) NOT NULL,
9 `pubdate` int(11) NOT NULL,
10 PRIMARY KEY (`id`),
11 UNIQUE KEY `link` (`link`)
12) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
13*/
14
15// Вывод Ñтраниц
16else if ($_GET['id']) {
17 $id = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);
18 $q = $db->query("SELECT * FROM reader WHERE id={$id}");
19 $row = $q->fetch();
20 if ($row) {
21 echo "<h1>{$row['title']}</h1>\n<p><a href=\"{$row['link']}\">{$row['link']}</a></p>\n<p>ЗДЕСЬ КОД ДИСКÐСÐ</p>";
22 } else {
23 echo "<p>ОбÑуждение не найдено</p>\n";
24 }
25} else {
26 $q = $db->query('SELECT * FROM reader ORDER BY pubdate DESC');
27 echo "<h1>СитнÑридер</h1>\n";
28 if ($q) {
29 while ($row = $q->fetch()) {
30 echo "<p><a href=\"{$row['link']}\">{$row['title']}</a> (<a href=\"/?id={$row['id']}\">обÑуждение</a>)</p>\n";
31 }
32 } else {
33 echo "<p>ПоÑтов не найдено</p>\n";
34 }
35}
36
37// Ð”Ð»Ñ Ñ€ÐµÐ³ÑƒÐ»Ñрного обновлениÑ, поÑтавьте задачу в кроне, например: */6 * * * * php /path/to/script.php update
38if ($argv[1] == "update") {
39 $rss = new DOMDocument();
40 $rss->load('http://blog.seventeenzero.name/feed');
41 foreach ($rss->getElementsByTagName('item') as $node) {
42 $title = $node->getElementsByTagName('title')->item(0)->nodeValue;
43 $link = $node->getElementsByTagName('link')->item(0)->nodeValue;
44 $pubdate = strtotime($node->getElementsByTagName('pubDate')->item(0)->nodeValue);
45 $q = $db->query("INSERT INTO reader (title, link, pubdate) VALUES ('{$title}', '{$link}', {$pubdate}) ON DUPLICATE KEY UPDATE");
46 }
47}