par
Neomcdn » 30 août 2007, 16:47
Bonjour à tous,
Nous réalisons actuellement une galerie photo avec descriptions grâce à flash, php, xml et mysql.
Pour récupérer les données de la base, nous utilisons une page xml qui est générée par php.
Au clic sur l'un des liens d'une page, on envoie en session, sur une page intitulée "test_xml.php", un numéro qui ira modifier le résultat d'une requête php, de la page test_xml.php et ainsi récupérer les données de la base et les écrire à la volée sur une page nommée "liste_produits.xml"
Cependant, nous avons un problème: Le fichier xml ne se créer pas tout seul: il est nécessaire de cliquer sur un lien (présent sur la page test_xml.php) pour que le xml soit créé la première fois.
De plus, lorsque le numero en session change, la page test_xml.php récupère bien le nouveau numéro mais le fichier xml, lui, ne se met pas à jour, sauf si l'on clique, à nouveau, sur le lien de la page test_xml.php.
Voici le code de la page test_xml.php
<?php
session_start();
if(isset($_GET['categorie']) && ($_GET['categorie']!= $_SESSION['categorie']))
{ // si la donnée existe en session
// c'est qu'elle a été précément demandée par l'utilisateur, donc on l'utilise
$categorie = $_GET['categorie'];}
elseif (isset($_SESSION['categorie']))
{$categorie = $_SESSION['categorie'];}
$_SESSION['categorie'] = $categorie; // stocke la nouvelle valeur de $menu dans la session
mysql_select_db($database_conn_audureau, $conn_audureau);
$query_rs_produit= "SELECT nom_produit, url_photo_produit FROM tbl_produit WHERE categorie_id='".$categorie."'";
$rs_produit= mysql_query($query_rs_produit, $conn_audureau) or die(mysql_error());
echo $query_rs_produit.'<br/>';
$xml = '<?xml version="1.0" encoding="ISO-8859-1"?>'.'<photos>';
$compteur = 1;
while ($row = mysql_fetch_array($rs_produit)) {
$xml .= '<photo num="'.$compteur.'" desc="'.$row['nom_produit'].'" fichier="'.$row['url_photo_produit'].'"/>';
$compteur++;
}
$xml .= '</photos>';
$fp = fopen("liste-produits.xml", 'w+');
fputs($fp, $xml);
fclose($fp);
//lien pour créer et mettre à jour le fichier xml
echo 'Export XML effectue !<br/><a href="liste-produits.xml">voir la page</a>';
?>
Auriez-vous une idée s'il-vous-plaît pour créer automatiquement un nouveau xml et que les données de ce fichier soient modifiées automatiquement?
En espérant ne pas avoir été confus,
Merci par avance,
Cordialement,
Bonjour à tous,
Nous réalisons actuellement une galerie photo avec descriptions grâce à flash, php, xml et mysql.
Pour récupérer les données de la base, nous utilisons une page xml qui est générée par php.
Au clic sur l'un des liens d'une page, on envoie en session, sur une page intitulée "test_xml.php", un numéro qui ira modifier le résultat d'une requête php, de la page test_xml.php et ainsi récupérer les données de la base et les écrire à la volée sur une page nommée "liste_produits.xml"
Cependant, nous avons un problème: Le fichier xml ne se créer pas tout seul: il est nécessaire de cliquer sur un lien (présent sur la page test_xml.php) pour que le xml soit créé la première fois.
De plus, lorsque le numero en session change, la page test_xml.php récupère bien le nouveau numéro mais le fichier xml, lui, ne se met pas à jour, sauf si l'on clique, à nouveau, sur le lien de la page test_xml.php.
Voici le code de la page test_xml.php
[php]<?php
session_start();
if(isset($_GET['categorie']) && ($_GET['categorie']!= $_SESSION['categorie']))
{ // si la donnée existe en session
// c'est qu'elle a été précément demandée par l'utilisateur, donc on l'utilise
$categorie = $_GET['categorie'];}
elseif (isset($_SESSION['categorie']))
{$categorie = $_SESSION['categorie'];}
$_SESSION['categorie'] = $categorie; // stocke la nouvelle valeur de $menu dans la session
mysql_select_db($database_conn_audureau, $conn_audureau);
$query_rs_produit= "SELECT nom_produit, url_photo_produit FROM tbl_produit WHERE categorie_id='".$categorie."'";
$rs_produit= mysql_query($query_rs_produit, $conn_audureau) or die(mysql_error());
echo $query_rs_produit.'<br/>';
$xml = '<?xml version="1.0" encoding="ISO-8859-1"?>'.'<photos>';
$compteur = 1;
while ($row = mysql_fetch_array($rs_produit)) {
$xml .= '<photo num="'.$compteur.'" desc="'.$row['nom_produit'].'" fichier="'.$row['url_photo_produit'].'"/>';
$compteur++;
}
$xml .= '</photos>';
$fp = fopen("liste-produits.xml", 'w+');
fputs($fp, $xml);
fclose($fp);
//lien pour créer et mettre à jour le fichier xml
echo 'Export XML effectue !<br/><a href="liste-produits.xml">voir la page</a>';
?>[/php]
Auriez-vous une idée s'il-vous-plaît pour créer automatiquement un nouveau xml et que les données de ce fichier soient modifiées automatiquement?
En espérant ne pas avoir été confus,
Merci par avance,
Cordialement,