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 :

pb de creation flux rss [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de urbalk
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 135
    Points : 71
    Points
    71
    Par défaut pb de creation flux rss
    bonjour,

    je me base sur ce tuto pour créer un flux rss
    http://ghostdogpr.developpez.com/articles/rss/

    mon problème se situe a ce niveau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // extraction des informations et ajout au contenu
    while($tab=mysql_fetch_array($res))
    {
    le navigateur me renvoie une erreur :
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program...
    pourquoi tant de haine !!!

  2. #2
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Bonjour,

    La connexion a ta base de donnees se fait bien? Ta requete est correcte?

    N'oublie pas d'utiliser mysql_error() pour un bon debugage.
    Ps : pourrait on avoir un peu plus de code?
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  3. #3
    Membre régulier Avatar de urbalk
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 135
    Points : 71
    Points
    71
    Par défaut
    bonjour,

    Désolé, d'avoir encore posté là ou il ne fallait pas .

    merci de ta réponse.

    oui la connexion à la db se passe bien.
    le code complet:
    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
     
    <?php
    // édition du début du fichier XML
    $xml = '<?xml version="1.0" encoding="iso-8859-1"?><rss version="2.0">';
    $xml .= '<channel>'; 
    $xml .= '<title>Titre du channel</title>';
    $xml .= '<link>http://www.monsite.com</link>';
    $xml .= '<description>Description du channel</description>';
    // connexion a la base
    @mysql_connect(localhost,rrrrrrrrr,rrrrrrr) or die("Connexion impossible");
    @mysql_select_db(directassoc) or die("Echec de selection de la base");
     
    // selection des 5 dernieres news
    $res=mysql_query("SELECT * FROM message ORDER BY datevent DESC LIMIT, 5");
     
    // extraction des informations et ajout au contenu
    while($tab=mysql_fetch_array($res))
    echo mysql_error().' '.$res ;
    {
    	$titre=$tab[titre];
    	$lien=$tab[lien];
    	$description=$tab[description];
    	$date=$tab[date];
    	$date2=date("D, d M Y H:i:s", strtotime($date));
     
    	$xml .= '<item>';
    	$xml .= '<title>'.$titre.'</title>';
    	$xml .= '<link>'.$lien.'</link>';
    	$xml .= '<pubDate>'.$date2.' GMT</pubDate>'; 
    	$xml .= '<description>'.$description.'</description>';
    	$xml .= '</item>';	
    }
    // édition de la fin du fichier XML
    $xml .= '</channel>';
    $xml .= '</rss>';
     
    // écriture dans le fichier
    $fp = fopen("flux.xml", 'w+');
    fputs($fp, $xml);
    fclose($fp);
    @mysql_close();
    ?>
    les erreurs:
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\01_direct-assoc\01_portailassoc\assoc\demo\demo-rss.php on line 16
    
    Notice: Use of undefined constant titre - assumed 'titre' in c:\program files\easyphp1-8\www\01_direct-assoc\01_portailassoc\assoc\demo\demo-rss.php on line 19
    
    Notice: Use of undefined constant lien - assumed 'lien' in c:\program files\easyphp1-8\www\01_direct-assoc\01_portailassoc\assoc\demo\demo-rss.php on line 20
    
    Notice: Use of undefined constant description - assumed 'description' in c:\program files\easyphp1-8\www\01_direct-assoc\01_portailassoc\assoc\demo\demo-rss.php on line 21
    
    Notice: Use of undefined constant date - assumed 'date' in c:\program files\easyphp1-8\www\01_direct-assoc\01_portailassoc\assoc\demo\demo-rss.php on line 22
    
    Notice: strtotime(): Called with empty time parameter in c:\program files\easyphp1-8\www\01_direct-assoc\01_portailassoc\assoc\demo\demo-rss.php on line 23

    a+

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    Pour les "Notice: Use of undefined constant", il faut dans remplacer tes variables :
    $tab[titre]; par $tab['titre'];

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Points : 50
    Points
    50
    Par défaut
    Et pour avoir l'erreur, change :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res=mysql_query("SELECT * FROM message ORDER BY datevent DESC LIMIT, 5");
    Par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res=mysql_query("SELECT * FROM message ORDER BY datevent DESC LIMIT, 5") OR DIE(mysql_error());
    Ce qui t'affichera l'erreur.

  6. #6
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Bonjour, l'erreur vient du mysql_query() tout simplement puisque la ressource est considérée comme fausse lors du fetch! Il faut vérifier la valeur de retour d'une query avant d'essayer de récupérer les résultats
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $requete = "SELECT * FROM message ORDER BY datevent DESC LIMIT, 5";
    $res=mysql_query($requete) or die ("Erreur mysql : requete = $requete<br/>Erreur mysql = ".mysql_error());
    Et donc le probleme vient du "LIMIT,5" il faut mettre un chiffre entre le LIMIT et la , (ou retirer la virgule).

  7. #7
    Membre régulier Avatar de urbalk
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 135
    Points : 71
    Points
    71
    Par défaut
    bonjour,

    merci de votre aide a tous.

    mes flux rss fonctionnent.
    je rencontre juste un petit pb, j'essaie d'ajouter une balise "<description>" supplémentaire ou une balise "<category>" le fichier xml est bien incrementer et les informations ajoutées dedans mais le flux n'est pal lu par firefox.... (pb réglé)

    a+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Creation d'un flux rss
    Par coupolites dans le forum Langage
    Réponses: 11
    Dernier message: 24/04/2009, 15h43

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