Forum Clubic

Problème FPDF avec requête MySQL

Salut tout le monde,

J’essaye de charger un PDF avec la librairie FPDF avec des données présents dans ma base de données MySQL.

Voici mon code:


$pdf=new PDF();
$pdf->Open();
$pdf->AliasNbPages();
//Premier tableau
$pdf->AddPage();
$pdf->AddCol('jour',25,'Jour','C');
$pdf->AddCol('heure_arrivee',32,"Heure d'arrivée",'C');
$pdf->AddCol('heure_depart',32,'Heure de départ','C');
$pdf->AddCol('temps_presence',35,'Temps de présence','C');
$pdf->AddCol('temps_pause',32,'Temps de pause','C');
$pdf->AddCol('',40,'Signature du salarié','L');
$pdf->SetDrawColor(128,0,0);
$pdf->SetLineWidth(.3);
$pdf->SetY(43);
$prop=array('HeaderColor'=>array(171,165,255),
			'color1'=>array(255,255,255),
			'color2'=>array(165,190,255),
			'padding'=>2);

if (isset($_GET['fk_user_id']))
{
	//Timestamp temps d'arrivé
	$sql_fk_user_id = 'select * from pointage where fk_user_id="'.(int)$_GET["fk_user_id"].'" AND type=0';
	$result = mysql_query($sql_fk_user_id);
	//Timestamp temps d'arrivé
	$sql_fk_user_id1 = 'select * from pointage where fk_user_id="'.(int)$_GET["fk_user_id"].'" AND type=1';
	$result1 = mysql_query($sql_fk_user_id1);
	while(($employe_id = mysql_fetch_assoc($result)) && ($employe_id1 = mysql_fetch_assoc($result1)))
	{	
		//Jour
		$day = date('d/m/Y', $employe_id[timestamp]);
		//Temps d'arrivé
		$temps_arrive = date("H:i:s", $employe_id[timestamp]);
		//Temps de départ
		$temps_depart = date("H:i:s", $employe_id1[timestamp]);
		//Temps de présence
		$temps_presence = date("H:i:s", ($employe_id1[timestamp]-$employe_id[timestamp])-mktime(1, 0, 0, 0, 0, 0));
		
		$sql_presence = 'select "'.$day.'" as jour, "'.$temps_arrive.'" as heure_arrivee, "'.$temps_depart.'" as heure_depart, "'.$temps_presence.'" as temps_presence from dual';
		//print_r($sql_presence);
	}
}
else
{
echo "";
}

$pdf->Table($sql_presence, $prop);
$pdf->Output();

Je récupère le ‘fk_user_id’ envoyé par l’utilisateur et j’affiche un tableau selon cet id. Le problème est que plusieurs timestamp est affecté à un id. Mais lorsque je charge le PDF, il ne m’affiche qu’une seule ligne. J’ai déjà testé la requête SQL et ça fonctionne parfaitement.

Si quelqu’un s’y connait en FPDF ça serait top. C’est un peu urgent.

Merci d’avance,

Srini

Tu n’as pas de cote ou guillemet, je sais pas si ca te pose problème ou pas.

$temps_arrive = date("H:i:s", $employe_id[[b]"[/b]timestamp[b]"[/b]]);

Tes requêtes retournent le même nombre de lignes à chaque fois? Sinon ca peut venir de là ton problème d’une seule ligne, si une tes requête retourne 1 ligne et l’autre plusieurs

Pourquoi tu ne récupères pas tous tes résultats en une seule requête? Dans le style :

SELECT p1.timestamp, p2.timestamp FROM pointage p1 LEFT JOIN pointage p2 USING (fk_user_id) WHERE fk_user_id = "'.(int)$_GET["fk_user_id"].'" AND p1.type=0 OR p2.type =1

Tout d’abord merci pour ta réponse.

Que je mette ou pas les cotes ça ne change rien.

Sinon ma table ressemble à ça:

http://sprsrini.free.fr/bdd_pointage.JPG

Je transforme les timestamp présents dans ma base en date après les avoir récupérer. Par exemple, si je choisis le fk_user_id 1001, il devrait m’afficher:
timestamp jour | timestamp arrivé qui correspond au type 0 | timestamp départ qui correspond au type 1 | timestamp présence qui correspond à la différence timestamp départ - timestamp arrivé.

Et comme le fk_user_id à deux types 0 et deux types 1 il devrait m’afficher deux lignes.
Edité le 03/06/2008 à 15:33