Доброго времени суток!
Задача в состоит в следующем:
1) Нужно ограничить парсинг новостей в N-количестве(последних записей) в базу.
2) Пока не знаю как сделать "switchCase" для замены ссылки xml, при клике на странице RU/ENG к примеру. Чтобы сменить язык ленты.
3) Кнопка обновления статей из БД через Ajax, чтобы не обновлять страницу.
Вот что накалякал сам, в силу своих знаний. Буду рад любой помощи, даже оптимизации кода.
PHP
<?
//.... Подключение к бд
$xmlURL = "https://bash.im/rss/"; //левая ссылка для примера
$sxml = simplexml_load_file($xmlURL);
foreach($sxml->channel->item as $item) {
$id = stripcslashes($item);
$title = stripslashes($item->title);
$link = stripslashes($item->link);
$image = stripslashes($item->image);
$description = stripslashes($item->description);
$date = stripcslashes($item->pubDate);
$query = mysqli_query($db, "SELECT COUNT(*) FROM news WHERE id='$title'");
$item = mysqli_fetch_row($query);
$total = $item[0];
if ("$total" == 0) {
$sql = mysqli_query($db, "INSERT INTO news (id, title, link, image, description, created_at) VALUES('$id', '$title', '$link', '$image', '$description', '$date')");
} else if ("$total" > 0) {
$sql2 = mysqli_query($db, "UPDATE news (id, title, link, image, description, created_at) VALUES('$id', '$title', '$link', '$image', '$description', '$date')");
}
}
?>
HTML
<div class="rss-feed">
<?php
$sql = mysqli_query($db, 'SELECT `title`, `link`, `description`, `created_at` FROM `news` ORDER BY `created_at` desc LIMIT 5');
while ($result = mysqli_fetch_array($sql)) {
echo '<div class="item">';
echo '<h2><a href='.$result['link'].'>'.$result['title'].'</a></h2>';
echo '<div class="description">'.$result['description'].'</div>';
echo '<p class="datetime">'.$result['created_at'].'</p>';
echo '</div>';
}
?>
</div>