Récupération de données pour génération PDF ! mon chef me les brise !

Eléphanteau du PHP | 35 Messages

09 avr. 2008, 10:58

Rebonjour, j'occupe le forum :)

Un nouveau problème. J'ai un tableau généré en PDF (avec php). J'ai ma page nickel.
Maintenant, je veux importer des informations rentrées sur une autre page. Je ne suis que débutant mais le stagiaire qui a fait la maquette php avant moi a fait une page qui marche très bien et qui est comme ceci :
<?php
$id=$_GET['id'];
$connexion=mysql_Pconnect("127.0.0.1","root","");
if (!mysql_select_db("radiofrance",$connexion)) {
exit; }
$resultat1= mysql_query("SELECT * FROM duplex WHERE  id=$id");
$sql=mysql_fetch_array($resultat1);
$nom_com=$sql["nom_commanditaire"];
$nom_em=$sql["nom_emission"];
$resultat2= mysql_query("SELECT * FROM emission WHERE  nom_emission='$nom_em'") or die ('requête invalide:'.mysql_error());
$resultat3= mysql_query("SELECT * FROM commanditaires WHERE  nom_commanditaire='$nom_com'");
$sql2=mysql_fetch_array($resultat2);
$sql3=mysql_fetch_array($resultat3);
$date=date("d/m/Y");
$heure=date("H:i");
$x=$sql["id"];
$n1= $sql["nom_invite1"];
$n2= $sql["nom_invite2"];
$t1=$sql["tel_inv1"];
$t2=$sql["tel_inv2"];
$qualite=$sql["qualite"];
$numaf=$sql["numero_affaire"];
$date1=$sql["date_duplex"];
$date2=$sql["date_creation"];
$nome=$sql["nom_emission"];
$typee= $sql["type_emission"];
$heured= $sql["heure_debut"];
$heuref=$sql["heure_fin"];
$recepteur=$sql["recepteur"];
$emetteur=$sql["emetteur"];
$stde=$sql["numero_studioE"];
$stdr=$sql["numero_studioR"];
$etat=$sql["etat"];
$tcom=$sql3["telephonne_commanditaire"];
$ncom=$sql["nom_commanditaire"];
$obs=$sql["observations"];

?>
<html>
<body  bgcolor=#e8eae8>
<center><font size=7><b>Duplex</b></br></font>
<form name="rduplex4" method="POST" action="rduplex5.php">
<table border='0'><center><tr bgcolor=#FFCC99><td width='1000' div align='center'><font size=5><b><i>Modification du duplex</i></b></font></td></tr></center></table>
<table border="0">
<table border="0">
 <?php
echo "<input type=\"hidden\" name=\"l1\" value=\"$ncom\">
<input type=\"hidden\" name=\"l2\" value=\"$tcom\">
<input type=\"hidden\" name=\"l3\" value=\"$etat\">
<input type=\"hidden\" name=\"l4\" value=\"$stde\">
<input type=\"hidden\" name=\"l5\" value=\"$stdr\">
<input type=\"hidden\" name=\"l6\" value=\"$emetteur\">
<input type=\"hidden\" name=\"l7\" value=\"$recepteur\">
<input type=\"hidden\" name=\"l8\" value=\"$heuref\">
<input type=\"hidden\" name=\"l9\" value=\"$heured\">
<input type=\"hidden\" name=\"l10\" value=\"$typee\">
<input type=\"hidden\" name=\"l11\" value=\"$nome\">
<input type=\"hidden\" name=\"l12\" value=\"$date2\">
<input type=\"hidden\" name=\"l13\" value=\"$date1\">
<input type=\"hidden\" name=\"l14\" value=\"$n1\">
<input type=\"hidden\" name=\"l15\" value=\"$n2\">
<input type=\"hidden\" name=\"l16\" value=\"$t1\">
<input type=\"hidden\" name=\"l17\" value=\"$t2\">
<input type=\"hidden\" name=\"l18\" value=\"$qualite\">
<input type=\"hidden\" name=\"l19\" value=\"$numaf\">
<input type=\"hidden\" name=\"l20\" value=\"$obs\">
<input type=\"hidden\" name=\"l30\" value=\"$x\">";

      ?>

<tr><br />
<td colspan="20">
<div align="center"><font size=5>Numéro d'affaire :<br /><br /></font></td><td><input type='text' name='num-aff' value="<?php echo $numaf;?>"><br /><br /></td></tr>
<tr><td><div align="right"><font size=5>date </font><i>(JJ/MM/AAAA)</i> :</div></td><td><input name='date1' type='text' value="<?php echo $date1;?>"></td><td><div align="right"><font size=5>date de création</font> <i>(JJ/MM/AAAA)</i>:</div></td><td><input name="date2" type="text"value="<?php echo $date2; ?>"></td></tr>
<tr><td><div align="right"><font size=5>Heure Début</font> <i>(00:00:00)</i> :</div></td><td><input name="heured" type="text" value="<?php echo $heured; ?>"></td><td><div align="right"><font size=5>Heure Fin</font> <i>(00:00:00)</i>:</div></td><td><input name='heuref' type='text' value="<?php echo $heuref; ?>"></td></tr>
<tr><td><div align="right"><font size=5>Nom de l'émission :</font></div></td><td><input name='nomE' type='text' value="<?php echo $nome; ?>"></td></tr>
<tr><td><div align="right"><font size=5>Le type de l'émission est :</font></td><td><font size=5><b><i><?php echo $typee;?></i></b></font></div></td><td><div align="right"><font size=5>Modifier le type :</font></div></td><td><input type='radio' name='typeE' value="Direct" checked="checked" />Direct<br></br>
					<input type="radio" name="typeE" value="<?php echo $typee; ?>" />Enregistré</td></tr>

<tr><td><div align="right"><font size=5>Emetteur (chaine):</font></div></td><td><select name='emetteur'>
						<?php
                                                echo "<option value=$emetteur>$emetteur"; ?>
                                                	<?php
                                                $connexion=mysql_Pconnect("127.0.0.1","root","");
                                                if (!mysql_select_db("radiofrance",$connexion)) {
                                                 exit;}
                                                 $sql=mysql_query("SELECT * from radios ");
                                                 while ($ligne=mysql_fetch_array($sql))
                                                 {
                                                   $r = $ligne["nom_radio"];
                                                   echo "<option value=\"$r\" >";
                                                   echo $r;
                                                   echo'</option>';
                                                 }
                                                 ?>
						</select></td><td><div align="right"><font size=5>Recepteur(chaine) :</font></div></td><td><select name='recepteur'>
						<?php
						echo "<option value=$recepteur>$recepteur"; ?>
     	                                        	<?php
                                                $connexion=mysql_Pconnect("127.0.0.1","root","");
                                                if (!mysql_select_db("radiofrance",$connexion)) {
                                                 exit;}
                                                 $sql=mysql_query("SELECT * from radios");
                                                 while ($ligne=mysql_fetch_array($sql))
                                                 {
                                                   $r = $ligne["nom_radio"];
                                                   echo "<option value=\"$r\" >";
                                                   echo $r;
                                                   echo'</option>';
                                                 }
                                                 ?>
						</select></td></tr>
<tr><td><div align="right"><font size=5>Numero studio E :</font></div></td><td><select name='stdE' value="<?php echo $stde;?>">
					<?php

                                                $connexion=mysql_Pconnect("127.0.0.1","root","");
                                                if (!mysql_select_db("radiofrance",$connexion)) {
                                                 exit;}
                                                 $sql=mysql_query("SELECT * from studios");
                                                 while ($ligne=mysql_fetch_array($sql))
                                                 {
                                                       $v = $ligne["numero_studio"];
                                                   echo "<option value= \"$v\" >";
                                                   echo $v;
                                                   echo'</option>';
                                                 }
                                                 ?>
						</select></td><td><div align="right"><font size=5>Numero studio R :</font></div></td><td><select name='stdR' value="<?php echo $sql["numero_studioR"];?>">
					<?php

                                                $connexion=mysql_Pconnect("127.0.0.1","root","");
                                                if (!mysql_select_db("radiofrance",$connexion)) {
                                                 exit;}
                                                 $sql=mysql_query("SELECT * from studios");
                                                 while ($ligne=mysql_fetch_array($sql))
                                                 {
                                                       $v = $ligne["numero_studio"];
                                                   echo "<option value= \"$v\" >";
                                                   echo $v;
                                                   echo'</option>';
                                                 }
                                                 ?>
						</select></td></tr>
<tr><td><div align=right><font size=5>Qualité</font></div></td><td><select name="qualite">
                                                <?php
                                                 echo "<option value=$qualite>$qualite";
                                                ?>
                                                <option>aucune
						<option>7 khz
						<option>15 khz Mono
						<option>15 khz Stereo</option>
						</select></td></tr>

<tr><td><div align='right'><font size=5>Invité 1 :</font></div></td><td><input name="inv1" type='text' value="<?php echo $n1; ?>"></td><td><div align="right"><font size=5>Invité 2 :</font></div></td><td><input name='inv2' type='text' value="<?php echo $n2;?>"></td></tr>
<tr><td><div align='right'><font size=5>Telephonne invité 1:</font></div></td><td><input name="t_inv1" type="text" value="<?php echo $t1;?>"></td><td><div align="right"><font size=5>Telephonne invité 2:</font></div></td><td><input name='t_inv2' type='text' value="<?php echo $t2;?>"></td></tr>
<tr><td><div align='right'><font size=5>Nom du commanditaire :</font></div></td><td><input name="N_com" type="text" value="<?php echo $ncom; ?>"></td><td><div align="right"><font size=5>Tel commanditaire :</font></div></td><td><br /><input name="tel_com" type="text" value="<?php echo $tcom; ?>"><br /><br /></td></tr>
<tr><td><div align='right'><font size=5>l'état de la demande est :</font></div><td><font size=5 color="#FF0000"><b><i><?php echo $etat; ?></i></b></font></div></td><td><div align=right><font size=5 color="#0000FF">Modifier l'état?</font></div></td><td><input type='radio' name='etat' value='validé' checked="checked" /><font size=5 color="#0000FF">Validé </font></td><td></td></tr>
					<tr><td></td><td></td><td></td><td><input type='radio' name='etat' value='certifié' /><font size=5 color="#0000FF">Certifié </font></td><td></td></tr>
					<tr><td></td><td></td><td></td><td><input type='radio' name='etat' value='annulé' /><font size=5 color="#0000FF">Annulé </font></td><td></td></tr>
					<tr><td></td><td></td><td></td><td><input type='radio' name='etat' value='reporté' /><font size=5 color="#0000FF">Reporté </font></td><td></td></tr>
                                        <tr><td><div align="right"><br /><font size=5>Observations complémentaires :</font></div></td><td colspan="20"><br /><textarea name="obs"  rows="3" cols="90" value="<?php echo $sql["nom_commanditaire"];?>"></textarea></td></tr>

<tr><td><input type="hidden" name='id' value="<?php echo $x;?>"</td></tr>
<tr><td><input type="hidden" name='id2' value="<?php echo $sql2["id"];?>"</td></tr>
<tr><td><input type="hidden" name='id3' value="<?php echo $sql3["id"];?>"</td></tr>




<tr><td colspan="20"><br /><br /><div align="center"><input type="submit" name="submit" value="valider la modification"></td></tr>
</table>
</center>
</form>
<center><br /><a href="coordinateur.php"><font size=4>Revenir à la page d'accueil des coordinateurs</font></a></center>
</body>
</html>
Maintenant, moi je veux transcrire tout ça en PDF.
Mais dès que je recopie les premières lignes du genre : $id=$_GET['id']; (qui doit correspondre je pense à un ID pour la base de données, genre utilisateur mot de passe, etc...), et bien le pdf refuse de se gégénrer, même si je n'ai pas encore modifier les choses qui ont vraiment atrait au pdf.

Voilà, je ne pige pas :)

Voici mon code pour génération de pdf :
<?php

include("phpToPDF.php");
$PDF=new phpToPDF();
$PDF->AddPage();
$PDF->SetFont('Arial','B',16);
$connexion=mysql_Pconnect("127.0.0.1","root","");
if (!mysql_select_db("radiofrance",$connexion)) {
exit; }

  
// Définition des propriétés du tableau.
$proprietesTableau = array(
	'TB_ALIGN' => 'L',
	'L_MARGIN' => 10,
	'BRD_COLOR' => array(0,92,177),
	'BRD_SIZE' => '0.3',
	);

// Définition des propriétés du header du tableau.	
$proprieteHeader = array(
	'T_COLOR' => array(150,10,10),
	'T_SIZE' => 12,
	'T_FONT' => 'Arial',
	'T_ALIGN' => 'C',
	'V_ALIGN' => 'T',
	'T_TYPE' => 'B',
	'LN_SIZE' => 7,
	'BG_COLOR_COL0' => array(170, 240, 230),
	'BG_COLOR' => array(170, 240, 230),
	'BRD_COLOR' => array(0,92,177),
	'BRD_SIZE' => 0.2,
	'BRD_TYPE' => '1',
	'BRD_TYPE_NEW_PAGE' => '',
	);

// Contenu du header du tableau.	
$contenuHeader = array(
	35,48,38,48,
	"Visualisation du duplex","COLSPAN2","","COLSPAN2",
	);

// Définition des propriétés du reste du contenu du tableau.	
$proprieteContenu = array(
	'T_COLOR' => array(0,0,0),
	'T_SIZE' => 10,
	'T_FONT' => 'Arial',
	'T_ALIGN_COL0' => 'L',
	'T_ALIGN' => 'R',
	'V_ALIGN' => 'M',
	'T_TYPE' => '',
	'LN_SIZE' => 6,
	'BG_COLOR_COL0' => array(255, 255, 255),
	'BG_COLOR' => array(255,255,255),
	'BRD_COLOR' => array(0,92,177),
	'BRD_SIZE' => 0.1,
	'BRD_TYPE' => '1',
	'BRD_TYPE_NEW_PAGE' => '',
	);	

// Contenu du tableau.	
$contenuTableau = array(
	"[B]N°d'Affaire", "xxx", "[B]Nom de l'émission","xxx",
	"[B]Date de création", "xxx", "[B]Date du duplex","xxx",
	"[B]Heure de début", "xxx", "[B]Heure de fin","xxx",
	"[B]Type de l'émission", "xxx", "[B]Chaîne","xxx",
	"[B]Commanditaire", "xxx", "[B]Tel. commanditaire","xxx",
	"[B]Invité 1", "xxx", "[B]Tel invité","xxx",
	"[B]Invité 2", "xxx", "[B]Tel invité","xxx",
	"[B]Qualité", "xxx", " "," ",
	
	);
 $PDF->drawTableau($PDF, $proprietesTableau, $proprieteHeader, $contenuHeader, $proprieteContenu, $contenuTableau);
 $PDF->Text(40,10,"on verra");

$PDF->Output();
?>
Merci ! :)

Mammouth du PHP | 2937 Messages

09 avr. 2008, 23:17

As-tu un message d'erreur ? Si oui, lequel ?

Est-ce qu'il y autre chose avant le code que tu montres ? Si je ne dis pas une bêtise, aucun contenu ne doit être envoyé à l'affichage avant la génération du PDF (autrement dit, c'est la même attention à avoir que pour l'envoi d'en-têtes).

ange16
Invité n'ayant pas de compte PHPfrance

06 juil. 2011, 16:44

$connexion=mysql_Pconnect("127.0.0.1","root","");

=> mysql_connect

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

06 juil. 2011, 17:06

Euh.. juste par curiosité, c'est normal que dans ton premier code, tous les crochets sont remplacés par des entités html ?
Au lieu de " $id=$_GET&#91;'id'&#93;; ", je m'attendrais plus à trouver " $id=$_GET['id']; " dans ton script... est-ce du à la façon dont tu as récupéré le code ? :?

Pour le problème, comme l'indique Victor, à la moindre erreur, au moindre message d'avertissement envoyé au navigateur, le pdf ne sera pas généré... donc si tu ajoutes la ligne $id=$_GET['id']; et que la variable id n'est pas présente dans l'url, tu auras un warning et ça plantera la génération du pdf qui ne saura pas l'interpréter ...

@ange16 : non, pas s'il veut utiliser une connexion persistante :non:
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

07 juil. 2011, 23:24

hum 3 ans après j'espère qu'il a trouvéune solution :mrgreen:
Il en faut peu pour être heureux ......

devlop78
Invité n'ayant pas de compte PHPfrance

08 juil. 2011, 04:48

Oui ... Merci les utilisateurs anonymes ...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

08 juil. 2011, 09:47

Oui ben s'il a trouvé une solution depuis le temps, il faut qu'il revienne marquer le sujet comme résolu ! :x

Faut pas s'étonner ensuite s'il y a des moineaux crédules qui ne regardent pas les dates et qui continuent de répondre aux questions ouvertes qui ont été déterrés trois ans plus tard 8-|
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

09 juil. 2011, 15:27

En fait j'ai aussi faillis repondre aussi, mais en relisant tout j'ai finis par voir la date :mrgreen:

@+
Il en faut peu pour être heureux ......