KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Mardi 13 mai 2008 - 11:51:51

[php] pb génération fichier xml avec php

Rechercher : dans
[php] pb génération fichier xml avec php
par peppena
 Fil de Discussions
Statut : Non résolu
lundi 3 juillet 2006 à 10:17:25
bonjour,

voilà un code simple permettant de créer un fichier xml simple (qui fonctionne bien )
j'utilise la version :php4.1.2-7 ( je suis obligée)

<?php /** * Topic: Create XML files using PHP DOM-XML * */ // create the xml processing instruction $doc = new_xmldoc("1.0" ); $filename="stock"; $filedate = strftime("%y%m%d") ; // create a root node and set an attribute $root = $doc->add_root("racine" ); $date = strftime("%d/%m/%C%y") ; $dateNode = $root-> new_child("date", "$date"); $officename="office13"; $code_office = "A013"; // create a child node $officeNode = $root->new_child("office", ""); // set an attribute to the child node $officeNode->set_attribute("name", "$officename"); // create a child node and add content $officeNode->set_attribute("code_office", "$code_office"); $qte="55421"; $code_article="cf10"; $stockNode1 = $officeNode->new_child("stock", "$qte" ); $stockNode1->set_attribute("code_article","$code_article"); $stockNode2 = $officeNode->new_child("stock", "$qte" ); $stockNode2->set_attribute("code_article","$code_article"); // write to file $fp = fopen($filename.$filedate.".xml", "w+" ); fwrite($fp, $doc->dumpmem(), strlen($doc->dumpmem() )); fclose($fp); ?>


j'ai réussi à crée ce simple fichier , maintenant j'ai essyé d'extraire mes données depuis une BDD postgres , je n'arrive pas à ajouter un attribut au dernier fils ,
je reçois l'erreur suivante :

Citation:
Fatal error: Call to a member function on a non-object in /var/www/html/xml/fileXml.php

voilà tout le code que j'utilise :

<? /* Topic: Create XML files using PHP DOM-XML */ // create the xml processing instruction $doc = new_xmldoc("1.0" ); $filename="stock"; $filedate = strftime("%y%m%d") ; global $i ; $root = $doc->add_root("racine" ); date = strftime("%d/%m/%C%y") ; $dbName = "mabase"; $dbUser = "nobody"; $dbPass = "nobody"; $host = "127.0.0.1"; $port = "5432"; $cnxString = "host=".$host." port=".$port." dbname=".$dbName." user=".$dbUser." password=".$dbPass; $pgsql_conn = pg_connect($cnxString); if ($pgsql_conn) { echo "Connexion reussie : \n"; $query = "SELECT office_id , office_name FROM office where office_id like 'A%'"; $result = pg_exec($query) or die('echec requete : ' . pg_last_error()); $cpt = 0; $i = 1 ; while ($i>0 && $line = pg_fetch_array($result)) { $line = pg_fetch_array($result); foreach ($line as $col_value) { $officename=$line[1]; $code_office = $line[0]; } // create a child node $officeNode.$i= $root->new_child("office", ""); // set an attribute to the child node $officeNode.$i->set_attribute("name", "$officename"); // create a child node and add content $officeNode.$i->set_attribute("code_office", "$code_office"); $resultstock = get_result_stock($code_office); $j = 0; while ($linestock = pg_fetch_array($resultstock)) { echo " i = ".$i."et cpt ".$cpt." et j = ".$j; $code_article = $linestock[0]; $start = $linestock[1]; $end = $linestock[2]; $qte=$bstart; echo "stockNode".$i.$j ; // $stockNode.$i.$j->set_attribute("code_article",$code_article); $stockobj = $stockNode.$i.$j ; $stockNode.$i.$j = $officeNode.$i->new_child("stock", "$qte" ); $stockNode.$i.$j ->set_attribute("code_article","11111"); $j++; }//end while $i++; } // write to file $fp = fopen($filename.$filedate.".xml", "w+" ); fwrite($fp, $doc->dumpmem(), strlen($doc->dumpmem() )); fclose($fp); // Ferme la connexion pg_close($pgsql_conn); } else { echo pg_last_notice($pgsql_conn); exit; } echo "\n fin du programme"; function get_result_stock ($code_office) { $stockquery = "SELECT category_id , start , end from stock where op_type='1' and office_id='$code_office'"; $resultstock = pg_exec($stockquery) or die(); return $resultstock ; } ?>

la ligne en rouge est source de l'erreur !
si je la commente tout se passe bien , mais je dois ajouter cet attribut

vraiment je plante
Répondre à peppena  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Hello_World, le lundi 3 juillet 2006 à 10:55:30 Fil de Discussions
Bonjour,

Avec un code comme ça, il est parfaitement normal qu'il y ait des problemes. C'est ILLISIBLE ! :)

Une instruction égal une ligne. Réecris ton code de manière lisible et l'erreur apparaitra très certainement d'elle meme.
Répondre à Hello_World

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par peppena, le lundi 3 juillet 2006 à 13:01:23 Fil de Discussions 
effectivement c pas lisible :)

voilà le premier code :
<?php 
/** * Topic: Create XML files using PHP DOM-XML * */
 // create the xml processing instruction 
$doc = new_xmldoc("1.0" ); 
$filename="stock"; 
$filedate = strftime("%y%m%d") ;
 // create a root node and set an attribute 
$root = $doc->add_root("racine" ); 
$date = strftime("%d/%m/%C%y") ; 
$dateNode = $root-> new_child("date", "$date"); 
$officename="office13"; 
$code_office = "val13"; 
// create a child node 
$officeNode = $root->new_child("office", ""); 
// set an attribute to the child node 
$officeNode->set_attribute("name", "$officename"); 
// create a child node and add content $officeNode->set_attribute("code_office", "$code_office"); 
$qte="55421"; 
$code_article="c10"; 
$stockNode1 = $officeNode->new_child("stock", "$qte" ); $stockNode1->set_attribute("code_article","$code_article"); 
$stockNode2 = $officeNode->new_child("stock", "$qte" ); $stockNode2->set_attribute("code_article","$code_article"); 
// write to file 
$fp = fopen($filename.$filedate.".xml", "w+" ); 
fwrite($fp, $doc->dumpmem(), strlen($doc->dumpmem() )); 
fclose($fp); 
?>




et le deuxième code est :
<? 
/* Topic: Create XML files using PHP DOM-XML */ 
// create the xml processing instruction 
$doc = new_xmldoc("1.0" ); 
$filename="stock";
$filedate = strftime("%y%m%d") ; 
$root = $doc->add_root("racine" ); 
date = strftime("%d/%m/%C%y") ; 
$dbName = "mabase"; 
$dbUser = "nobody"; 
$dbPass = "nobody"; 
$host = "127.0.0.1"; 
$port = "5432"; 
$cnxString = "host=".$host." port=".$port." dbname=".$dbName." user=".$dbUser." password=".$dbPass; 
$pgsql_conn = pg_connect($cnxString); 
if ($pgsql_conn)
 { 
echo "Connexion reussie : \n"; 
$query = "SELECT office_id , office_name FROM office where office_id like 'A%'"; 
$result = pg_exec($query) or die('echec requete : ' . pg_last_error()); 
 $i = 1 ; 
while ($i>0 && $line = pg_fetch_array($result))
{ 
$line = pg_fetch_array($result); 
foreach ($line as $col_value) 
{
 $officename=$line[1]; 
$code_office = $line[0];
 } 
// create a child node 
$officeNode.$i= $root->new_child("office", ""); 
// set an attribute to the child node
 $officeNode.$i->set_attribute("name", "$officename");
// create a child node and add content $officeNode.$i->set_attribute("code_office", "$code_office"); 
$resultstock = get_result_stock($code_office); 
$j = 0; 
while ($linestock = pg_fetch_array($resultstock))
 { 
$code_article = $linestock[0]; 
$start = $linestock[1]; 
$end = $linestock[2]; 
$qte=$bstart; 
$stockNode.$i.$j->set_attribute("code_article",$code_article);
$stockobj = $stockNode.$i.$j ;
 $stockNode.$i.$j = $officeNode.$i->new_child("stock", "$qte" ); $stockNode.$i.$j ->set_attribute("code_article","11111"); 
$j++; 
}//end while
$i++; 
} // write to file 
$fp = fopen($filename.$filedate.".xml", "w+" ); 
fwrite($fp, $doc->dumpmem(), strlen($doc->dumpmem() )); 
fclose($fp); // Ferme la connexion pg_close($pgsql_conn); } else { echo pg_last_notice($pgsql_conn); 
exit;
 }
 echo "\n fin du programme"; 

function get_result_stock ($code_office)
 { 
$stockquery = "SELECT category_id , start , end from stock where op_type='1' and office_id='$code_office'"; 
$resultstock = pg_exec($stockquery) or die(); 
return $resultstock ; 
} ?>


Répondre à peppena
Discussions pertinentes trouvées dans le forum
03/07 10h17[php] pb génération fichier xml avec phpProgrammation03/07 13h012
30/04 13h44[xml][php] parser fichier xml un peu specialProgrammation02/05 11h423
12/03 15h02Update de fichier XML via phpWebmastering14/03 10h178
26/11 15h30ercrire dans un fichier xml avec phpWebmastering30/11 10h322
17/10 10h54[php] Comment parser un fichier xmlProgrammation26/11 22h314
Plus de discussions sur « php pb generation fichier xml avec php » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide