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

Langage PHP Discussion :

Combiner XML et PHP


Sujet :

Langage PHP

  1. #1
    apt
    apt est déconnecté
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Points : 118
    Points
    118
    Par défaut Combiner XML et PHP
    Bonjour à tous,

    J'aimerais adapté l'effet Slider dans la source dewslider, mais j'ai un premier probléme celui de récupérer les liens d'images depuis une base de données par une requête SQL sous 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
    <?xml version="1.0" ?>
      <album 
        showbuttons="yes"
        showtitles="yes"
        randomstart="yes"
        timer="5"
        aligntitles="bottom"
        alignbuttons="bottom"
        transition="push"
        speed="20">
      <img src="img/1.jpg" title="Titre 1" />
      <img src="img/2.jpg" title="Titre 2" href="test.html" />
      <img src="img/3.jpg" title="Titre 3" href="http://www.blup.fr/" />
      <img src="img/4.jpg" title="Titre 4" href="http://www.blup.fr/" target="_blank" rollover="alert('yay');" rollout="showdiv('pub');" />
      <img src="img/5.jpg" title="Titre 5" />
    </album>
    Y'a-t-il une solution ?

    Merci d'avance

  2. #2
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    J'ai pas trop compris, mais si c'est pour travailler à partir d'une chaîne xml, alors regarde du coté des fonctions de SimpleXML, inclu dans php

  3. #3
    apt
    apt est déconnecté
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Points : 118
    Points
    118
    Par défaut
    Bonsoir metagoto;

    Puis-je écrire mon fichier xml de la sorte :

    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
    <?xml version="1.0" ?>
      <album 
        showbuttons="yes"
        showtitles="yes"
        randomstart="yes"
        timer="5"
        aligntitles="bottom"
        alignbuttons="bottom"
        transition="push"
        speed="20">
    <?php
    $result = mysql_query("SELECT id,title,news_head,uploadfile,catmig FROM r_news where allow='yes' ORDER BY id DESC limit $newsnumber");
    while($row = mysql_fetch_array($result))
    {
    $content .= "<img src=".$row['uploadfile']." title=".$row['title']." href=news.php?action=view&id=".$row['id']."/>";
    }
    echo $content;
    ?>
    </album>

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    Tu ne peux pas mettre du PHP dans ton XML mais tu peux modifier un fichier XML avec PHP.
    http://eusebius.developpez.com/php5dom/#L4

  5. #5
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    Tu peux tout a fait écrire du PHP dans du xml MAIS ton fichier DOIT s'appeler .php (enfin a moins de vouloir tripoter aux regles du serveur lol).

    Mais sinon ton exemple est bon normalement.

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059

  7. #7
    apt
    apt est déconnecté
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    Bon j'ai modifié le code ainsi :

    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
    <?php
    $database =  "database";
    $dbconnect = mysql_pconnect(localhost, dbuser, dbpassword);
    mysql_select_db($database, $dbconnect);
    $newsnumber = "1,1";
    $result = mysql_query("SELECT id,title,news_head,uploadfile,catmig FROM r_news where allow='yes' ORDER BY id DESC limit $newsnumber") or die("erreur sur requete:" . mysql_error());
    $content = "<?xml version=\"1.0\"?>
      <album 
        showbuttons=\"yes\"
        showtitles=\"yes\"
        randomstart=\"yes\"
        timer=\"5\"
        aligntitles=\"bottom\"
        alignbuttons=\"bottom\"
        transition=\"push\"
        speed=\"20\">";
    while($row = mysql_fetch_array($result))
    {
    $content .= "<img src=".htmlentities($row['uploadfile'])." title=".htmlentities($row['title'])." href=news.php?action=view&id=".$row['id']."/>";
    }
    $content .= "</album>";
    header("Content-Type: application/xml");
    echo $content;
    ?>
    je l'ai sauvegarder sous le nom de dewslider-xml.php.

    Moi je devrais appelé le fichier dewslider.php (qui utilise le fichier dewslider.swf en passant en paramètre le fichier dewslider.xml (modifié en dewslider-xml.php))

    le contenu de dewslider.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    echo '
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="500" height="280" id="dewslider4" align="middle">
    <param name="allowScriptAccess" value="sameDomain" />
    <param name="movie" value="dewslider.swf?xml=dewslider-xml.php" />
    <param name="quality" value="high" />
    <param name="bgcolor" value="#ffffff" />
    <embed src="dewslider.swf?xml=dewslider-xml.php" quality="high" bgcolor="#ffffff" width="500" height="280" name="dewslider4" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
    </object>';
    ?>
    Mais le rendu est toujours vide

    Pourquoi ?

  8. #8
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    ne te fie pas à ce qui est affiché. Regarde la source.

  9. #9
    apt
    apt est déconnecté
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par Korko Fain Voir le message
    ne te fie pas à ce qui est affiché. Regarde la source.
    Pas compris

    J'ai essayer d'ecrire tout simplement le fichier dewslider.xml pour que l'appel se fait bien dans le fichier dewslider.swf.

    A la fin de dewslider-xml.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $filename = 'dewslider.xml';
    // On ouvre le fichier pour écrire 
    $fp = fopen($filename, 'w+'); 
    // On écrit le fichier 
    fwrite($fp, $content); 
    // On ferme le fichier 
    fclose($fp);
    Mais le fichier n'est pas généré ...

  10. #10
    apt
    apt est déconnecté
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Points : 118
    Points
    118
    Par défaut
    Aprés plusieurs modifications apportées et essais, j'ai eu mon fichier dewslider.xml.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0"?>
      <album 
        showbuttons="yes"
        showtitles="yes"
        randomstart="yes"
        timer="5"
        aligntitles="bottom"
        alignbuttons="bottom"
        transition="push"
        speed="20">
    	<img class="article_pic" style="float:1" src="filemanager.php?action=image&id=21" align="right" title="titre1" href="news.php?action=view&id="17">
    	<img class="article_pic" style="float:1" src="filemanager.php?action=image&id=20" align="right" title="titre2" href="news.php?action=view&id="16">
    	<img class="article_pic" style="float:1" src="filemanager.php?action=image&id=18" align="right" title="titre3" href="news.php?action=view&id="15">
      </album>
    mais en l'executant, il me sorte une erreur :

    La page XML ne peut pas être affichée
    Impossible d'afficher l'entrée XML en utilisant la feuille de style XSL. Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement.


    --------------------------------------------------------------------------------

    Le symbole point-virgule était attendu. Erreur de traitement de la ressource http://localhost/monsite/slider2/dewslider.x...

    <img class="article_pic" style="float:1" src="filemanager.php?action=image&id=21" align="right" title=
    ------------...

  11. #11
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    & est un symbole spécial en XML !
    & = &amp; sinon plantage ! ^^

Discussions similaires

  1. [DOM XML] XML -> tableau PHP
    Par Mucsy dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 03/06/2005, 11h44
  2. [XSLT] transformation XML->XML en php
    Par amellouki dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 03/03/2005, 12h32
  3. [XSLT] XML et PHP
    Par Dam'$ dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 05/08/2004, 15h14
  4. [XML et PHP]
    Par Mister Nono dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 22/03/2004, 13h57
  5. XML + XSL + PHP
    Par ZzZerf dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 21/03/2003, 15h54

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