RSS FEEDS ARTIKLER IND I SQL
Hej EksperterJeg ville hører om nogle kunne hjælpe med at få mit rss til at ligge hver enkelt artikel ind i DB lige nu henter den kun for hver siden men ville gerne have hver artikel kom ind i DB? (Hvis det giver mening)
Skal bruge det til så jeg kan få mest læste artikel på min side- elller er der andre måder og gøre det på?
Det jeg har lige nu men helt blank på hvordan jeg kommer videre.
#####Udskriver feeds######
<?php
require 'admin/functions.php';
connect();
try{
$feeds = read_feeds();
foreach ($feeds as $feed) {
}
} catch(Exception $e){
echo $e->getMessage();
}
?>
<?php
// Funktion til at indsamle rss artikler
function append_rss_items_to_array(&$array, $rss_url, $rss_title) {
$rss = new DOMDocument();
$rss->load($rss_url);
foreach ($rss->getElementsByTagName('item') as $xmlnode) {
if($cnt == 5){
break;
}
$array[] = array(
'rss_title' => $rss_title,
'title' => $xmlnode->getElementsByTagName('title')->length ? $xmlnode->getElementsByTagName('title')->item(0)->textContent : '',
'author' => $xmlnode->getElementsByTagName('author')->length ? $xmlnode->getElementsByTagName('author')->item(0)->textContent : '',
'link' => $xmlnode->getElementsByTagName('link')->length ? $xmlnode->getElementsByTagName('link')->item(0)->textContent : '',
'date' => date('Y-m-d H:i:s', strtotime($xmlnode->getElementsByTagName('pubDate')->item(0)->textContent)),
);
$cnt++;
}
}
$artikler = array();
foreach ($feeds as $row) {
append_rss_items_to_array($artikler, $row['url'], $row['titel']);
}
// Her sorterer vi alle indsamlede nyheder efter nyeste dato
usort($artikler, function ($a, $b) {
return strcmp($b['date'], $a['date']);
}
);
foreach ($artikler as $row) {
echo '<article>';
echo '<a href="'.$row['link'].'">';
echo '<h4>'.$row['title'].' </h4>';
echo '<div class="pagers">';
echo '<span class="fa color2"> '.$row['rss_title'].'</span><span class="color"> ('.date('H:i', strtotime($row['date'])).')</span></div></a>';
echo '<hr>';
echo '</article>';
}
function create_artikel($titel, $url) {
mysql_query("INSERT INTO feeds (feed_titel, feed_url) VALUES ('$titel', '$url')");
header('Location: crud.php');
}
?>
####Opretter/retter/sletter feeds####
<?php
//--UPDATE--//
if (isset($_GET['task']) && ($_GET['task'] == 'update')) {
$id = $_GET['id'];
$feed = "SELECT * FROM feeds WHERE feed_id=$id" ;
$result = mysql_query ($feed) or die (mysql_error());
$row = mysql_fetch_assoc($result);
?>
<h4>Ret feed:</h4>
<form method="post">
<label>Ny titel:</label> <input type="text" class="form-control" name="ny_titel" value="<?php echo $row['feed_titel'] ?>"><br><br>
<label>Ny URL:</label> <input type="text" class="form-control" name="ny_url" value="<?php echo $row['feed_url'] ?>"><br><br>
<input type="hidden" name="id" value="<?= $_GET['id'] ?>" />
<input type="submit" value="Ret Feed" class="btn btn-primary" name="submit_ny">
</form>
<hr/>
<?php
if (isset($_POST['submit_ny'])) {
$titel = $_POST['ny_titel'];
$url = $_POST['ny_url'];
$id = $_POST['id'];
update_feed($titel, $url, $id);
}
}
//--DELETE--//
if (isset($_GET['task']) && ($_GET['task'] == 'delete')) {
$id = $_GET['id'];
delete_feed($id);
}
//opret feed
?>
<h4>Opret feed</h4>
<form method="post">
<label> Titel:</label> <input type="text" class="form-control" name="titel"><br><br>
<label>URL:</label> <input type="text" class="form-control" name="url"><br><br>
<input type="submit" class="btn btn-default" value="Opret Feed" name="submit" >
</form>
<hr/>
<?php
if (isset($_POST['submit'])) {
$titel = $_POST['titel'];
$url = $_POST['url'];
create_feed($titel, $url);
}
//viser feeds
$feeds = read_feeds();
foreach ($feeds as $feed) {
echo '<div class="feeds"><p><li><strong>' . $feed['titel'] . '</strong> - <a href="' . $feed['url'] . '">' . $feed['url'] . '</a>
<a href="?task=delete&id=' . $feed['id'] . '"><button type="button" class="btn btn-danger" class="slet"><span class="glyphicon glyphicon-trash"></span></button></a><span> </span>
<a href="?task=update&id=' . $feed['id'] . '"><button type="button" class="btn btn-warning" class="ret"><span class="glyphicon glyphicon-pencil"></span></button></a>
</li></p><hr></div>';
}
?>
</div>
</div><!-- /.container -->