Avatar billede ettrup1987 Nybegynder
03. juni 2014 - 14:28

RSS FEEDS ARTIKLER IND I SQL

Hej Eksperter

Jeg 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'].'&nbsp;</h4>';
              echo '<div class="pagers">';
          echo '<span class="fa color2">&nbsp;'.$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>&nbsp;&nbsp;
               
             
                <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 -->
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester