PHP/DOM problême simple et rapide
Fermé
Max
-
19 févr. 2009 à 13:17
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 - 19 févr. 2009 à 14:48
djflexlive Messages postés 557 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 23 avril 2015 - 19 févr. 2009 à 14:48
A voir également:
- PHP/DOM problême simple et rapide
- Acces rapide - Guide
- Iphone 14 simple - Guide
- Télécharger film d'action gratuitement et rapidement - Télécharger - TV & Vidéo
- Simple pdf - Télécharger - PDF
- Copie rapide - Télécharger - Gestion de fichiers
11 réponses
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
19 févr. 2009 à 13:30
19 févr. 2009 à 13:30
echo '<a href="'.$lienpage.'"><img src="'.$lienimg.'"></a>';
Ca marches là ?
Ca marches là ?
C'est la même chose. Le problême se situe vraiment dans la boucle...
En gros il m'affiche 8 fois la même image avant de passer à l'image suivante qu'il m'affiche 8 fois et les 8x
correspondent à chaque lien. Donc il y a autant de "première image" qu'il y a de liens (url)
En gros il m'affiche 8 fois la même image avant de passer à l'image suivante qu'il m'affiche 8 fois et les 8x
correspondent à chaque lien. Donc il y a autant de "première image" qu'il y a de liens (url)
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
19 févr. 2009 à 13:59
19 févr. 2009 à 13:59
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 />"; }
Aucun problême là dessus. C'est dans ma logique que ca coince.
Ce que je veux faire dire à mon document ici c'est bêtement : Pour chaque image que tu trouveras, affiche les et utilise le lien correspondent dans le même item.
Ce que je veux faire dire à mon document ici c'est bêtement : Pour chaque image que tu trouveras, affiche les et utilise le lien correspondent dans le même item.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
19 févr. 2009 à 14:07
19 févr. 2009 à 14:07
Un exemple du code html généré en sortie ? Ou une page web à visiter pour constater et essayer de mieux comprendre ?
Voici ici à quoi ressemble le résultat. Donc plusieurs fois la même image qui utilise le lien suivant à chaque fois
Même chose pour la deuxième image qui se répète et ainsi de suite.
Même chose pour la deuxième image qui se répète et ainsi de suite.
http://www.madebyrose.com/x1.jpg</code>
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
19 févr. 2009 à 14:26
19 févr. 2009 à 14:26
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.
En supprimant cette boucle "foreach($listepages as $pages)" , ca donne ca :
Ca dit quoi ?
En supprimant cette boucle "foreach($listepages as $pages)" , ca donne ca :
$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 ?
Ca donne:
Notice: Undefined variable: pages in D:\wamp\www\hub\Untitled-1.php on line 23
Notice: Trying to get property of non-object in D:\wamp\www\hub\Untitled-1.php on line 23
Ligne 23 correspondant à : if($pages->nodeValue)
Notice: Undefined variable: pages in D:\wamp\www\hub\Untitled-1.php on line 23
Notice: Trying to get property of non-object in D:\wamp\www\hub\Untitled-1.php on line 23
Ligne 23 correspondant à : if($pages->nodeValue)
djflexlive
Messages postés
557
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
23 avril 2015
95
19 févr. 2009 à 14:48
19 févr. 2009 à 14:48
$listeliens = $dom->getElementsByTagName('enclosure');
$listepages = $dom->getElementsByTagName('link');
Ca te parse le xml et ca le stocke dans un array ? Comment c'est structuré la dedans ?
Ce que je comprends, c'est que tu as deux boucles mais qui vont pas chercher les infos les unes par rapport aux autres.
Dans foreach($listeliens as $liens) il y'a tous les liens de stockés et foreach($listepages as $pages) contient toutes les images ?
Donc dans ce cas là, tu répètes 8x ta boucle car il trouve 8 url et il affiche 8x les images car 8 images parsées dans ton .xml ...
Donc peut etre qu'il faut voir ce qui est donné dans $listeliens et $listepages
print_r($listeliens);
print_r($listepages;
$listepages = $dom->getElementsByTagName('link');
Ca te parse le xml et ca le stocke dans un array ? Comment c'est structuré la dedans ?
Ce que je comprends, c'est que tu as deux boucles mais qui vont pas chercher les infos les unes par rapport aux autres.
Dans foreach($listeliens as $liens) il y'a tous les liens de stockés et foreach($listepages as $pages) contient toutes les images ?
Donc dans ce cas là, tu répètes 8x ta boucle car il trouve 8 url et il affiche 8x les images car 8 images parsées dans ton .xml ...
Donc peut etre qu'il faut voir ce qui est donné dans $listeliens et $listepages
print_r($listeliens);
print_r($listepages;