IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Enregistrer la date d'un flux rss (Magpierss)


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 16
    Points : 7
    Points
    7
    Par défaut Enregistrer la date d'un flux rss (Magpierss)
    Bonjour à tous,

    Je rencontre un problème pour enregistrer les dates des flux rss que j'affiche sur mon site. Je souhaite les enregistrer dans ma table articles_flux; mais cela ne fonctionne pas. J'utilise MagpieRss.

    Function.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <?php 
     
    $bdd1='mysql.xxx'; // adresse
    $bdd2='xxx'; // login
    $bdd3='xxx'; // password
    $bdd4='xxx'; / base de donnée
     
     
     
    //////// NE PAS TOUCHER /////////////
     
    // système de connection
    @require_once("../magpierss/rss_fetch.inc");
    function base($bdd1,$bdd2,$bdd3,$bdd4){
    $db = mysql_connect($bdd1, $bdd2, $bdd3)  or die('Erreur de connexion '.mysql_error());
    mysql_select_db($bdd4,$db)  or die('Erreur de selection '.mysql_error()); 
    }
     
    // système de lecture du flux rss
    function FeedParser($url_feed,$id_n, $nb_items_affiches=10)
    {
     
      $rss = fetch_rss($url_feed);
     
      if (is_array($rss->items))
      {
     
       $items = array_slice($rss->items,
        0, $nb_items_affiches);
       foreach ($items as $item)
       { 
    $item['title'] = str_replace(array('\'','"'), array(''','&quot;'), $item['title']);
    $item['title']=htmlentities($item['title']);
    $date = date("d-m-Y", parse_w3cdtf($item['dc']['date']));
    $html .= "$date : <a href=\"".$item['link']."\">";
    $html .= $item['title']."</a><br></li>\n";
    
    $verification = mysql_num_rows(mysql_query("SELECT * FROM article_flux WHERE titre='".$item['title']."'"));
    if($verification==0){  
    
    
    
    $verification2 = mysql_fetch_array(mysql_query("SELECT * FROM site2 WHERE id='".$id_n."'"));
    
    $item['description'] = str_replace(array('\'','"'), array(''','&quot;'), $item['description']);
    $item['description']=htmlentities($item['description']);
     
    $ajout= "INSERT INTO article_flux (titre, texte, date, url, site) VALUES('$item[title]','$item[description]','$item[date]','$item[link]','$verification2[nom]')"; 
    mysql_query($ajout) or die('Erreur ajout !'.$ajout.'<br>'.mysql_error()); 
    
    	} 
       }
     }
    }
    
    
    function remove_tags($tachaine)
    {
    
    return preg_replace('`<img src="[^"]+"(?: [[:alpha:]]+="[^"]+")* ?/?>`', '', $tachaine);
    }
    // système de mise a jour
    base($bdd1,$bdd2,$bdd3,$bdd4);
    $sql = "SELECT * FROM site2";
    $req = mysql_query($sql) or die('Une Erreur SQL !<br>'.$sql.'<br>'.mysql_error());   
    while($data = mysql_fetch_array($req)){ 
    @FeedParser($data['url'],$data['id']); } 
     
    $sql = "SELECT * FROM info WHERE id='1'";$data = mysql_fetch_array(mysql_query($sql));$nombre1=$data['info'];
    $sql = "SELECT * FROM info WHERE id='2'";$data = mysql_fetch_array(mysql_query($sql));$nombre2=$data['info'];
    ?>
    Pour insérer dans ma bdd, j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ajout= "INSERT INTO article_flux (titre, texte, date, url, site) VALUES('$item[title]','$item[description]','$item[date]','$item[link]','$verification2[nom]')";
    Cela fonctionne pour la description, le titre...Mais pas la date. Voilà ce que je souhaite corriger.

    Sa serait génial de pouvoir m'aider. Ça va faire une semaine que je passe mes journée sur le problème; et sans succès !
    Si vous avez besoin d'un autre fichier (mon index.php...) sa serait super.

    Je suis désolé, mais je ne maîtrise pas très bien le php.

    Merci d'avance à vous

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2005
    Messages : 357
    Points : 537
    Points
    537
    Par défaut
    Salut, vérifie que $item[date] contient bien une date.
    A la limite fais un dump de $item pour en vérifier son contenu.

Discussions similaires

  1. problème avec la date dans le flux rss
    Par victoires dans le forum Langage
    Réponses: 1
    Dernier message: 26/01/2012, 18h12
  2. Convertir date d'un flux RSS
    Par matmat0 dans le forum Langage
    Réponses: 0
    Dernier message: 21/04/2008, 15h40
  3. [Dates] Détecter la mise à jour d'un flux RSS
    Par eric41 dans le forum Langage
    Réponses: 3
    Dernier message: 30/07/2007, 08h34
  4. [Dates] Date tiré d'un flux RSS
    Par nicaud dans le forum Langage
    Réponses: 1
    Dernier message: 03/01/2007, 18h58
  5. [Conception] Recuperation plusieurs flux RSS et tri par date
    Par Pschittt dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 24/08/2006, 18h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo