PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 13-05-2009 14:28:16

patlechat
Membre
Inscription : 13-05-2009
Messages : 18

[Résolu] generation d'etiquette avec FPDF

salut,

voila je suis entrain de créer un prog pour générer des étiquettes avec le script FPDF.
je n'arrive pas à faire commencer mes étiquettes sur 1 page et première colonne.

dans l'exemple par défaut il y a ceci :
// Dans cet exemple on va commencer l'impression des étiquettes à partir de la seconde colonne (cf les 2 derniers paramètres 1 et 2)
//$pdf = new PDF_Label(array('name'=>'perso1', 'marginLeft'=>1, 'marginTop'=>1, 'NX'=>2, 'NY'=>7, 'SpaceX'=>0, 'SpaceY'=>0, 'width'=>99.1, 'height'=>'38.1', 'metric'=>'mm', 'font-size'=>14), 1, 2);

$pdf = new PDF_Label('L7163', 'mm', 1, 2); donc moi je me suis dit que j'allais mettre :

$pdf = new PDF_Label('L7163', 'mm', 1, 1); pour commencer à la première colonne et cela ne fonctionne pas car il me crée une page vide et sur la 2 iéme page il commence à la première colonne.

est ce qu'il y a des personnes qui utilisent cela et surtout qu'ils veuillent bien m'aider.

Merci.
A+

Hors ligne

#2 13-05-2009 15:22:55

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] generation d'etiquette avec FPDF

Saluton,
Le problème est que tu utilises une extension de FPDF, FPDF_Label, et que je ne connais pas toutes les extensions (et loin de là) que propose leur site.
Pour celle-ci, de mémoire, je sais qu'il ne faut pas prendre à la lettre tout ce qui est mis dedans en commentaires, par exemple, les tailles ne sont pas en mm mais toujours en points.
Par contre, as-tu posé la question sur leur forum ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 13-05-2009 16:08:16

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] generation d'etiquette avec FPDF

Je reviens du site FPDF, as-tu essayé de faire tout bêtement comme dans l'exemple du script de LPA ?

<?php
require_once('PDF_Label.php');

// Format standard
$pdf = new PDF_Label('L7163');

$pdf->AddPage();

// On imprime les étiquettes
for($i=1;$i<=20;$i++) {
    $text = sprintf("%s\n%s\n%s\n%s %s, %s", "Laurent $i", 'Immeuble Toto', 'av. Fragonard', '06000', 'NICE', 'FRANCE');
    $pdf->Add_Label($text);
}

$pdf->Output();
?>


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#4 13-05-2009 16:54:15

patlechat
Membre
Inscription : 13-05-2009
Messages : 18

Re : [Résolu] generation d'etiquette avec FPDF

je raméne mes infos d'une base mysql donc du coup j'ai fait ceci comme prog :


<?php
foreach ($valeurcoche as $value) //tu passes la valeur actuelle dans une clef
 {

$query="select * from infos WHERE id_person = $value";
$resultat=mysql_query($query);

// On imprime les étiquettes
while($row=mysql_fetch_array($resultat))
{

$nom = $row['nom'];
$prenom = $row['prenom'];
$civilite = $row['genre'];
$adresse1 = $row['adresse1'];
$adresse2 = $row['adresse2'];
$codepostal = $row['codepostal'];
$ville = $row['ville'];

//mise à jour du drapeau comme quoi l'étiquette a été imprimé
mysql_query ("UPDATE infos SET impression_etiquette = $drapo_etiquette WHERE id_person = $value");
//insertion info dans table impression
mysql_query("INSERT INTO impression (id_impression, date_impression, heure) VALUES ('', '$date', '$heure')");
if ($adresse2 !="")
{
//Sortie étiquette en PDF
$pdf->Add_PDF_Label(sprintf("%s%s%s\n%s\n%s\n%s %s", "$civilite " , "$nom", " $prenom", "$adresse1", "$adresse2", "$codepostal", "$ville"));

}
else
{
$pdf->Add_PDF_Label(sprintf("%s%s%s\n%s\n%s %s", "$civilite " , "$nom", " $prenom", "$adresse1", "$codepostal", "$ville"));
}
}

//$prenom = $row['prenom'];
//$civilite = $row['genre'];
//$adresse1 = $row['adresse1'];
//  $pdf->Add_PDF_Label(sprintf("%s%s%s\n%s\n%s, %s, %s", "$civilite " , "$nom", " $prenom", "$adresse1", '06000', 'NICE', 'FRANCE'));
}
$pdf->Output();
//$pdf->Output('etiquette.pdf');
mysql_close();
} else
{
       echo "Aucune case n'a été coché";
}
?>
 

Merci pour l'aide.

Edit : avec le code en couleur c'est mieux wink
moogli

Dernière modification par patlechat (13-05-2009 16:55:19)

Hors ligne

#5 13-05-2009 16:59:41

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Résolu] generation d'etiquette avec FPDF

svp - utilise la balise [.code=php]... [./code] (sans les .) - cela sera beaucoup plus lisible et agréable


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

#6 13-05-2009 17:14:41

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] generation d'etiquette avec FPDF

Le moins qu'on puisse dire c'est que tu ne lésines pas sur les requêtes d'UPDATE.
Une seule requête finale reprenant toutes les id dans un IN et le tour était joué.
Je ne vois pas dans ton code ce qui instancie la classe PDF_Label, il est donc difficile de se prononcer sans l'intégralité du code.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 13-05-2009 17:40:21

patlechat
Membre
Inscription : 13-05-2009
Messages : 18

Re : [Résolu] generation d'etiquette avec FPDF

voici ma page de prog complete:


<?php
define('FPDF_FONTPATH','font/');
require_once('PDF_Label.php');
require('connect.php');

// Dans cet exemple on va commencer l'impression des étiquettes à partir de la seconde colonne (cf les 2 derniers paramètres 1 et 2)
$pdf = new PDF_Label('L7163', 'mm', 1, 2);

//si case à coché n'est pas vide alors ...
if (!empty($_POST['liste']))
{
$valeurcoche=$_POST['liste'];
$drapo_etiquette = "1";
$date= date("d/m/Y");
$heure = date("H:i");

$pdf->Open();
$pdf->AddPage();

foreach ($valeurcoche as $value) //tu passes la valeur actuelle dans une clef
 {

$query="select * from infos WHERE id_person = $value";
$resultat=mysql_query($query);

// On imprime les étiquettes
while($row=mysql_fetch_array($resultat))
{

$nom = $row['nom'];
$prenom = $row['prenom'];
$civilite = $row['genre'];
$adresse1 = $row['adresse1'];
$adresse2 = $row['adresse2'];
$codepostal = $row['codepostal'];
$ville = $row['ville'];

//mise à jour du drapeau comme quoi l'étiquette a été imprimé
mysql_query ("UPDATE infos SET impression_etiquette = $drapo_etiquette WHERE id_person = $value");
//insertion info dans table impression
mysql_query("INSERT INTO impression (id_impression, date_impression, heure) VALUES ('', '$date', '$heure')");
if ($adresse2 !="")
{
//Sortie étiquette en PDF
$pdf->Add_PDF_Label(sprintf("%s%s%s\n%s\n%s\n%s %s", "$civilite " , "$nom", " $prenom", "$adresse1", "$adresse2", "$codepostal", "$ville"));

}
else
{
$pdf->Add_PDF_Label(sprintf("%s%s%s\n%s\n%s %s", "$civilite " , "$nom", " $prenom", "$adresse1", "$codepostal", "$ville"));
}
}

//$prenom = $row['prenom'];
//$civilite = $row['genre'];
//$adresse1 = $row['adresse1'];
//  $pdf->Add_PDF_Label(sprintf("%s%s%s\n%s\n%s, %s, %s", "$civilite " , "$nom", " $prenom", "$adresse1", '06000', 'NICE', 'FRANCE'));
}
$pdf->Output();
//$pdf->Output('etiquette.pdf');
mysql_close();
} else
{
       echo "Aucune case n'a été coché";
}
?>
 

Merci pour l'aide.

Dernière modification par patlechat (13-05-2009 17:41:39)

Hors ligne

#8 13-05-2009 17:47:36

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : [Résolu] generation d'etiquette avec FPDF

Je serais toi je virerais déjà ce $pdf->Open(); qui ne me dit rien qui vaille.
Ensuite pourquoi un SELECT * La guerre des étoiles
ensuite utilises plutôt mysql_fetch_assoc() (voire, encore plus meilleur PDO)
et, surtout, pourquoi une requête dans la boucle foreach ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#9 14-05-2009 14:18:40

patlechat
Membre
Inscription : 13-05-2009
Messages : 18

Re : [Résolu] generation d'etiquette avec FPDF

Bonjour,

j'ai trouvé la soluce en fait dans mon prog, j'ai mis $pdf = new PDF_Label('L7163'); au lieu de  $pdf = new PDF_Label('L7163', 'mm', 1, 2); et j'ai également supprimé $pdf->AddPage(); avant ma boucle foreach

Merci pour les remarques de prog.

A+

Hors ligne

#10 14-05-2009 14:25:03

Alnoss
Modérateur absent
Lieu : 06 - PACA
Inscription : 11-05-2009
Messages : 541
Site Web

Re : [Résolu] generation d'etiquette avec FPDF

petit tag {résolu} demandé !


MERCI de lire le mode d'emploi avant de poster !!

Hors ligne

Pied de page des forums