par
meta » 26 oct. 2012, 01:19
voila donc le code, le soucis c'est qu'il me retourne en permanence les champs de la derniere balise XML...je vois pas du tout pourquoi :
la page 1 :
<?php
// On démarre la session AVANT d'écrire du code HTML
session_start();
$NbrCol = 5;
$xml = utf8_encode(file_get_contents('176.xml'));
$rows = array();
$sxml = simplexml_load_string($xml);
foreach($sxml as $node) {
$thumb = (string)$node->photo_list->thumb;
$model = htmlspecialchars((string)$node->model, ENT_QUOTES);
$_SESSION['model'] = htmlspecialchars((string)$node->model, ENT_QUOTES);
$_SESSION['photo'] = (string)$node->photo_list->photo;
$rows[] = <<<HTML
<a href="http://monsite.fr/fancy/demo/testf2.php"><img src="{$thumb}" alt="Aperçu" /></a></br>
{$model}</br></br>
HTML;
}
// -------------------------------------------------------
// nombre de cellules a remplir
$NbreData = count($rows);
// -------------------------------------------------------
// affichage
$NbrLigne = 0;
if ($NbreData != 0)
{
$k = 0; // indice du tableau
?>
<table frameBorder="0">
<tbody>
<?php
while ($k < $NbreData)
{
if (($k+1)%$NbrCol == 1) {
$NbrLigne++;
$fintr = 0;
?> <tr>
<?php }
?> <td>
<?php // -------------------------
// DONNEES A AFFICHER dans la cellule
echo $rows[$k];
//echo $rows[$id];
?> </td>
<?php if (($k+1)%$NbrCol == 0) {
$fintr = 1;
?> </tr>
<?php }
$k++;
}
// fermeture derniere balise /tr
if ($fintr!=1) {
?> </tr>
<?php } ?>
</tbody>
</table>
<?php
} else { ?>
pas de données à afficher
<?php
}
?>
</body>
</html>
et la page 2 :
<?php
// On démarre la session AVANT d'écrire du code HTML
session_start();
echo $_SESSION['photo'];
echo $_SESSION['model'];
?>
voila donc le code, le soucis c'est qu'il me retourne en permanence les champs de la derniere balise XML...je vois pas du tout pourquoi :
la page 1 :
[php]<?php
// On démarre la session AVANT d'écrire du code HTML
session_start();
$NbrCol = 5;
$xml = utf8_encode(file_get_contents('176.xml'));
$rows = array();
$sxml = simplexml_load_string($xml);
foreach($sxml as $node) {
$thumb = (string)$node->photo_list->thumb;
$model = htmlspecialchars((string)$node->model, ENT_QUOTES);
$_SESSION['model'] = htmlspecialchars((string)$node->model, ENT_QUOTES);
$_SESSION['photo'] = (string)$node->photo_list->photo;
$rows[] = <<<HTML
<a href="http://monsite.fr/fancy/demo/testf2.php"><img src="{$thumb}" alt="Aperçu" /></a></br>
{$model}</br></br>
HTML;
}
// -------------------------------------------------------
// nombre de cellules a remplir
$NbreData = count($rows);
// -------------------------------------------------------
// affichage
$NbrLigne = 0;
if ($NbreData != 0)
{
$k = 0; // indice du tableau
?>
<table frameBorder="0">
<tbody>
<?php
while ($k < $NbreData)
{
if (($k+1)%$NbrCol == 1) {
$NbrLigne++;
$fintr = 0;
?> <tr>
<?php }
?> <td>
<?php // -------------------------
// DONNEES A AFFICHER dans la cellule
echo $rows[$k];
//echo $rows[$id];
?> </td>
<?php if (($k+1)%$NbrCol == 0) {
$fintr = 1;
?> </tr>
<?php }
$k++;
}
// fermeture derniere balise /tr
if ($fintr!=1) {
?> </tr>
<?php } ?>
</tbody>
</table>
<?php
} else { ?>
pas de données à afficher
<?php
}
?>
</body>
</html>[/php]
et la page 2 :
<?php
// On démarre la session AVANT d'écrire du code HTML
[php]session_start();
echo $_SESSION['photo'];
echo $_SESSION['model'];
?> [/php]