|
|
|
|
Bonjour,
Je suis débutant en php !!
J'ai un souci avec ma boucle qui m'affiche plein de choses bizarres.
Je récupère 2 information de mon fichier xml : d'une part les "enclosure" d'autre part la valeur ('url') de l'élément "link" . Là ou le bas blesse est que j'essaye de créer une série d'images (enclosure) cliquables ( grace à notre valeur url) Je pense avoir réussi à ressortir les deux et à les afficher indépendement. Maintenant lorsque j'essayes de faire une boucle avec mes images et de les rendre à la fois cliquable au moyen de mes url ca foire superbement! Le problême est dans cette double boucle foreach mais je n'arrive pas à voir où.
Merci pour votre aide !!!
Voici la source XML
<item>
<title>Hello</title>
<description>Bellohelloetc</description>
<link>http://www.mouette.com/reproductionmouette</link>
<enclosure url="http://www.mouette.com/blablabla.jpg" length="21380" type="image/jpeg"></enclosure>
</item>
$dom = new DomDocument;
$dom->load("all.xml");
$listeliens = $dom->getElementsByTagName('enclosure');
$listepages = $dom->getElementsByTagName('link');
foreach($listeliens as $liens)
{
if ($liens->hasAttribute("url"))
{
$lienimg = $liens->getAttribute("url");
foreach($listepages as $pages)
{
if($pages->nodeValue)
{
$lienpage = $pages->nodeValue;
echo "<a href=\"$lienpage\"><img src=\"$lienimg\"></a>";
}
}
}
echo "<br />";
}Configuration: Windows Vista Internet Explorer 7.0
En mode "debug" ca dit quoi ?
$dom = new DomDocument;
$dom->load("all.xml");
$listeliens = $dom->getElementsByTagName('enclosure');
$listepages = $dom->getElementsByTagName('link');
foreach($listeliens as $liens)
{
if ($liens->hasAttribute("url"))
{
$lienimg = $liens->getAttribute("url");
foreach($listepages as $pages)
{
echo '<br/>$listepages as $pages : ok';
if($pages->nodeValue)
{
$lienpage = $pages->nodeValue;
echo "<a href=\"$lienpage\"><img src=\"$lienimg\"></a>";
echo '<br/>$pages->nodeValue : ok';
}
}
}
echo '<br/>$listeliens as $liens : ok';
echo "<br />";
}
|
Voici ici à quoi ressemble le résultat. Donc plusieurs fois la même image qui utilise le lien suivant à chaque fois
http://www.madebyrose.com/x1.jpg</code> |
Désolé, pas facile de t'aider en n'ayant pas tous les élements en mains, mais je comprends mieux ce qu'il se passe maintenant.
$dom = new DomDocument;
$dom->load("all.xml");
$listeliens = $dom->getElementsByTagName('enclosure');
$listepages = $dom->getElementsByTagName('link');
foreach($listeliens as $liens)
{
if ($liens->hasAttribute("url"))
{
$lienimg = $liens->getAttribute("url");
if($pages->nodeValue)
{
$lienpage = $pages->nodeValue;
echo "<a href=\"$lienpage\"><img src=\"$lienimg\"></a>";
}
}
echo "<br />";
}
Ca dit quoi ? |
$listeliens = $dom->getElementsByTagName('enclosure');
|