Page 1 sur 1

requête Mysql et librairie odtphp

Posté : 27 déc. 2011, 16:54
par martial
Bonjour à tous
J'essaie en vain de construire un document Openoffice avec la libraire odtphp et une requête mysql. En effet, je dispose d'une BDD d'adresses et j'aimerais faire des fiches avec openoffice text. J'ai donc téléchargé la librairie, j'arrive à extraire des données vers le document openoffice car j'ai compris le principe mais je n'arrive pas à formater les fiches!
J'ai utilisé l'exemple du tutorial6
$listeArticles = array(
	array(	'titre' => 'PHP',
			'texte' => 'PHP (sigle de PHP: Hypertext Preprocessor), est un langage de scripts (...)',
	),
	array(	'titre' => 'MySQL',
			'texte' => 'MySQL est un système de gestion de base de données (SGDB). Selon le (...)',
	),
	array(	'titre' => 'Apache',
			'texte' => 'Apache HTTP Server, souvent appelé Apache, est un logiciel de serveur (...)',
	),		
);

$article = $odf->setSegment('articles');
foreach($listeArticles AS $element) {
	$article->titreArticle($element['titre']);
	$article->texteArticle($element['texte']);
	$article->merge();
}
$odf->mergeSegment($article);
// We export the file
$odf->exportAsAttachedFile();
Mais je n'arrive pas à faire des "Array" avec le résultat de ma requete
$Sql = "SELECT * FROM fiche WHERE ".$result."";
$rs = mysql_query($Sql,$conn) or die("Echec lors de l'exécution de la requête à la ligne " . __LINE__ . ": " . mysql_error($conn) . '<br>SQL:' . $Sql);
$num="";
$det="";
$listeArticles = array();
while ($rows= mysql_fetch_array($rs))
{
$num=strtoupper($rows[0]);
$det=strtoupper($rows[1]);
$det=str_replace("\""," ",$rows[1]);
$listeArticles =array( array('rep' => $rows[2],'nom' => $rows[3],'prenom' => $rows[4],'adresse' => $rows[5],'cp' =>$rows[6],'vil' => $rows[7],'tel' => $rows[8],'mob' =>$rows[9],'mag' => $rows[10],'num' => $num,'det' => $det,'int' =>$rows[11],'civ' =>$rows[12],),);
}
j'avoue être un peu perdu avec les array en php

Merci pour votre aide

Re: requête Mysql et librairie odtphp

Posté : 13 janv. 2012, 11:29
par Maitrepylos
Bonjour,

Ton souci à première vue est que tu remplis tes variables avec les dernières données récupéré dans ta db, si tu veux récupérer l'ensemble de tes données tu dois faire un tableau multidimensionnelle.

Essaye plutôt ceci :
while ($rows= mysql_fetch_array($rs))
{
$num[]=strtoupper($rows[0]);
$det[]=strtoupper($rows[1]);
$det[]=str_replace("\""," ",$rows[1]);
$listeArticles[] =array('rep' => $rows[2],'nom' => $rows[3],'prenom' => $rows[4],'adresse' => $rows[5],'cp' =>$rows[6],'vil' => $rows[7],'tel' => $rows[8],'mob' =>$rows[9],'mag' => $rows[10],'num' => $num,'det' => $det,'int' =>$rows[11],'civ' =>$rows[12],);
}