Php access pdf

flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009 - 22 févr. 2006 à 10:02
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009 - 22 févr. 2006 à 13:47
Bonjour, je veux, via une liste déroulante, donner la possibilité à l'utilisateur de récupérer les données qui l'interesse dans ma base de données, puis de les sortir sur un doc pdf.
J'ai l'erreur suivante dès le lancement de ma page :

Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in D:\qualite\tri_annu.php on line 115

D'ou peut bien venir cette erreur, la ligne concernée est:

while( $row = odbc_fetch_array( $resultat ) ) //tant que c pas la fin de la table
{

18 réponses

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
22 févr. 2006 à 10:07
fais voir le code !!
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
22 févr. 2006 à 10:10
<html>


<head>


</head>


<form method="post">

<select name="Site">
<option value="FAA">FAA</option>
<option value="FAO">FAO</option>
<option value="FCE">FCE</option>
</select>


</form>




</html>


<?php


$site = isset($_POST['Site']) ? $_POST['Site'] : false;


$base="D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire="Annuaire";


if (!$conn = new COM("ADODB.Connection")) // Declaration Objet
exit("Impossible de se connecter à la base de données
");


$conn->open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=$base"); // ouverture du fichier


$requete = "SELECT Societe FROM Annuaire WHERE Societe LIKE '%".$site."%'"; // Selectionne une table


$resultat = $conn->execute($requete) OR DIE ('Erreur de requête!'); // execute la requete


//connection au serveur:
//$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;

//PDF


define('FPDF_FONTPATH','font/');
require('fpdf/fpdf.php');
class PDF extends FPDF
{
//En-tête
function Header()
{
//Couleur texte
$this->SetTextColor(220,50,50);
//Police Arial gras 14
$this->SetFont('Arial','B',14);
//Titre
$this->Cell(0,1,'ANNUAIRE TELEPHONIQUE INTERNE',0,0,'C');
//Saut de ligne
$this->Ln(1.5);


//Titres des colonnes
$this->SetFont('Arial','B',12);
$this->SetFillColor(220,130,130);
$this->SetTextColor(255,255,255);


//Titre
$this->Cell(5,1,'Nom - Prénom',1,0,'C',1);
$this->Cell(4,1,'Site',1,0,'C',1);
$this->Cell(4,1,'N° Téléphone fixe',1,0,'C',1);
$this->Cell(3.5,1,'N° Abrégé (Laf.)',1,0,'C',1);
$this->Cell(3,1,'N° Fax',1,0,'C',1);
$this->Cell(3,1,'N° Portable',1,0,'C',1);
$this->Cell(5,1,'Adresse e-mail',1,0,'C',1);
$this->Ln();


}


//Pied de page
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-1.5);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
//Date du jour
$date = date("d-m-Y");
$this->Cell(0,1,'Date d\'impression : '.$date ,0,0,'L');
//Logo
$this->Image('images/LOGOANNUAIRE.jpg',25,19.5,4,0.5);
//Positionnement à 1,5 cm du bas
$this->SetY(-1.5);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
//Numéro de page
$this->Cell(0,1,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
$pdf=new PDF('L','cm','A4');
$pdf->AliasNbPages();
$pdf->SetFont('Arial','B',12);
$pdf->AddPage();
$pdf->SetFillColor(220,130,130);
$pdf->SetTextColor(255,255,255);



//$resultat = odbc_exec( $cnx, 'SELECT Nom, Societe, Fixe, Fixe_abrege, Fax, Portable, Mail FROM Annuaire ORDER BY Nom');


$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(1,$pdf->GetY());
$fond=0;

while( $row = odbc_fetch_array( $resultat ) ) //tant que c pas la fin de la table
{
$pdf->cell(5,0.7,$row['Nom'],1,0,'C',$fond);
$pdf->cell(4,0.7,$row['Societe'],1,0,'C',$fond);
$pdf->cell(4,0.7,$row['Fixe'],1,0,'C',$fond);
$pdf->cell(3.5,0.7,$row['Fixe_abrege'],1,0,'C',$fond);
$pdf->cell(3,0.7,$row['Fax'],1,0,'C',$fond);
$pdf->cell(3,0.7,$row['Portable'],1,0,'C',$fond);
$pdf->cell(5,0.7,$row['Mail'],1,0,'C',$fond);

$pdf->SetXY(1,$pdf->GetY()+0.7);
$fond=!$fond;
}
$pdf->output();

?>
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
22 févr. 2006 à 10:18
while( $row = odbc_fetch_array( $resultat ) )

il vient d'où $resultat ,de là ?
$resultat = $conn->execute($requete) OR DIE ('Erreur de requête!');

parce que tu ne récupères que 'Société' dans celle là
l'autre requête est en commentaire !!!
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
22 févr. 2006 à 10:37
Merde exact...
Sinon, je pourrais pas tout faire en 1 seule requete du style : $resultat = odbc_exec( $cnx, 'SELECT Nom, Societe, Fixe, Fixe_abrege, Fax, Portable, Mail FROM Annuaire WHERE Societe LIKE '%".$site."%'" ORDER BY Nom')...???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
22 févr. 2006 à 10:44
Hello,

pas si tu veux TOUS les noms de sociétés présentes dans ta table, et pas seulement celles où site LIKE machin.
Sinon, si, tu peux, évidemment.
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
22 févr. 2006 à 10:52
Bon, j'ai fait la modif suivante, et j'ai toujours la même erreur; oui, je veux faire une recherche des sociéts like "celle choisie via la liste déroulante par l'utilisateur" :

<html>


<head>


</head>


<form method="post">

<select name="Site">
<option value="FAA">FAA</option>
<option value="FAO">FAO</option>
<option value="FCE">FCE</option>
</select>


</form>




</html>


<?php


$site = isset($_POST['Site']) ? $_POST['Site'] : false;


$base="D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire="Annuaire";


if (!$conn = new COM("ADODB.Connection")) // Declaration Objet
exit("Impossible de se connecter à la base de données
");


$conn->open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=$base"); // ouverture du fichier


//$requete = "SELECT Societe FROM Annuaire WHERE Societe LIKE '%".$site."%'"; // Selectionne une table
$requete = "SELECT Nom, Societe, Fixe, Fixe_abrege, Fax, Portable, Mail FROM Annuaire WHERE Societe LIKE '%".$site."%' ORDER BY Nom";
$resultat = $conn->execute($requete) OR DIE ('Erreur de requête!'); // execute la requete


//connection au serveur:
//$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;

//PDF


define('FPDF_FONTPATH','font/');
require('fpdf/fpdf.php');
class PDF extends FPDF
{
//En-tête
function Header()
{
//Couleur texte
$this->SetTextColor(220,50,50);
//Police Arial gras 14
$this->SetFont('Arial','B',14);
//Titre
$this->Cell(0,1,'ANNUAIRE TELEPHONIQUE INTERNE',0,0,'C');
//Saut de ligne
$this->Ln(1.5);


//Titres des colonnes
$this->SetFont('Arial','B',12);
$this->SetFillColor(220,130,130);
$this->SetTextColor(255,255,255);


//Titre
$this->Cell(5,1,'Nom - Prénom',1,0,'C',1);
$this->Cell(4,1,'Site',1,0,'C',1);
$this->Cell(4,1,'N° Téléphone fixe',1,0,'C',1);
$this->Cell(3.5,1,'N° Abrégé (Laf.)',1,0,'C',1);
$this->Cell(3,1,'N° Fax',1,0,'C',1);
$this->Cell(3,1,'N° Portable',1,0,'C',1);
$this->Cell(5,1,'Adresse e-mail',1,0,'C',1);
$this->Ln();


}


//Pied de page
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-1.5);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
//Date du jour
$date = date("d-m-Y");
$this->Cell(0,1,'Date d\'impression : '.$date ,0,0,'L');
//Logo
$this->Image('images/LOGOANNUAIRE.jpg',25,19.5,4,0.5);
//Positionnement à 1,5 cm du bas
$this->SetY(-1.5);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
//Numéro de page
$this->Cell(0,1,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
$pdf=new PDF('L','cm','A4');
$pdf->AliasNbPages();
$pdf->SetFont('Arial','B',12);
$pdf->AddPage();
$pdf->SetFillColor(220,130,130);
$pdf->SetTextColor(255,255,255);



//$resultat = odbc_exec( $cnx, 'SELECT Nom, Societe, Fixe, Fixe_abrege, Fax, Portable, Mail FROM Annuaire ORDER BY Nom');


$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(1,$pdf->GetY());
$fond=0;

while( $row = odbc_fetch_array( $resultat ) ) //tant que c pas la fin de la table
{
$pdf->cell(5,0.7,$row['Nom'],1,0,'C',$fond);
$pdf->cell(4,0.7,$row['Societe'],1,0,'C',$fond);
$pdf->cell(4,0.7,$row['Fixe'],1,0,'C',$fond);
$pdf->cell(3.5,0.7,$row['Fixe_abrege'],1,0,'C',$fond);
$pdf->cell(3,0.7,$row['Fax'],1,0,'C',$fond);
$pdf->cell(3,0.7,$row['Portable'],1,0,'C',$fond);
$pdf->cell(5,0.7,$row['Mail'],1,0,'C',$fond);

$pdf->SetXY(1,$pdf->GetY()+0.7);
$fond=!$fond;
}
$pdf->output();

?>
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
22 févr. 2006 à 11:01
si tu fais après
$requete=...
echo $requete;
qu'est ce qu'il y a dedans ??
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
22 févr. 2006 à 11:04
SELECT Nom, Societe, Fixe, Fixe_abrege, Fax, Portable, Mail FROM Annuaire WHERE Societe LIKE '%FAA%' ORDER BY Nom
Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in D:\qualite\tri_annu.php on line 116

Mais l'erreur apparait meme si je ne lance pas de tri, elle sort dès l'ouverture de la page
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
22 févr. 2006 à 11:20
si tout est sur la même page
le php s'exécute après le html (tu ne t'arrêtes pas sur le form on dirait)
je ne vois pas de test de soumission

essaie comme ça ?
$requete "SELECT Nom, Societe, Fixe, Fixe_abrege, Fax, Portable, Mail FROM Annuaire WHERE Societe'$site' ORDER BY Nom";

eventuellement place la requête juste avant
while( $row = odbc_fetch_array( $resultat ) )
pour voir
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
22 févr. 2006 à 11:34
Non j'ai toujours la meme erreur sur la meme ligne , j'ai maintenant ce code :

<html>


<head>


</head>


<form method="post">

<select name="Site">
<option value="FAA">FAA</option>
<option value="FAO">FAO</option>
<option value="FCE">FCE</option>
</select>


</form>


<?php


$site = isset($_POST['Site']) ? $_POST['Site'] : false;


$base="D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire="Annuaire";


if (!$conn = new COM("ADODB.Connection")) // Declaration Objet
exit("Impossible de se connecter à la base de données
");


$conn->open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=$base"); // ouverture du fichier


//$requete = "SELECT Societe FROM Annuaire WHERE Societe LIKE '%".$site."%'"; // Selectionne une table
//$requete = "SELECT Nom, Societe, Fixe, Fixe_abrege, Fax, Portable, Mail FROM Annuaire WHERE Societe LIKE '%".$site."%' ORDER BY Nom";


//connection au serveur:
//$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;

//PDF


define('FPDF_FONTPATH','font/');
require('fpdf/fpdf.php');
class PDF extends FPDF
{
//En-tête
function Header()
{
//Couleur texte
$this->SetTextColor(220,50,50);
//Police Arial gras 14
$this->SetFont('Arial','B',14);
//Titre
$this->Cell(0,1,'ANNUAIRE TELEPHONIQUE INTERNE',0,0,'C');
//Saut de ligne
$this->Ln(1.5);


//Titres des colonnes
$this->SetFont('Arial','B',12);
$this->SetFillColor(220,130,130);
$this->SetTextColor(255,255,255);


//Titre
$this->Cell(5,1,'Nom - Prénom',1,0,'C',1);
$this->Cell(4,1,'Site',1,0,'C',1);
$this->Cell(4,1,'N° Téléphone fixe',1,0,'C',1);
$this->Cell(3.5,1,'N° Abrégé (Laf.)',1,0,'C',1);
$this->Cell(3,1,'N° Fax',1,0,'C',1);
$this->Cell(3,1,'N° Portable',1,0,'C',1);
$this->Cell(5,1,'Adresse e-mail',1,0,'C',1);
$this->Ln();


}


//Pied de page
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-1.5);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
//Date du jour
$date = date("d-m-Y");
$this->Cell(0,1,'Date d\'impression : '.$date ,0,0,'L');
//Logo
$this->Image('images/LOGOANNUAIRE.jpg',25,19.5,4,0.5);
//Positionnement à 1,5 cm du bas
$this->SetY(-1.5);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
//Numéro de page
$this->Cell(0,1,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
$pdf=new PDF('L','cm','A4');
$pdf->AliasNbPages();
$pdf->SetFont('Arial','B',12);
$pdf->AddPage();
$pdf->SetFillColor(220,130,130);
$pdf->SetTextColor(255,255,255);



//$resultat = odbc_exec( $cnx, 'SELECT Nom, Societe, Fixe, Fixe_abrege, Fax, Portable, Mail FROM Annuaire ORDER BY Nom');


$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(1,$pdf->GetY());
$fond=0;


$requete "SELECT Nom, Societe, Fixe, Fixe_abrege, Fax, Portable, Mail FROM Annuaire WHERE Societe'$site' ORDER BY Nom";
$resultat = $conn->execute($requete) OR DIE ('Erreur de requête!'); // execute la requete


while( $row = odbc_fetch_array( $resultat ) ) //tant que c pas la fin de la table
{
$pdf->cell(5,0.7,$row['Nom'],1,0,'C',$fond);
$pdf->cell(4,0.7,$row['Societe'],1,0,'C',$fond);
$pdf->cell(4,0.7,$row['Fixe'],1,0,'C',$fond);
$pdf->cell(3.5,0.7,$row['Fixe_abrege'],1,0,'C',$fond);
$pdf->cell(3,0.7,$row['Fax'],1,0,'C',$fond);
$pdf->cell(3,0.7,$row['Portable'],1,0,'C',$fond);
$pdf->cell(5,0.7,$row['Mail'],1,0,'C',$fond);

$pdf->SetXY(1,$pdf->GetY()+0.7);
$fond=!$fond;
}
$pdf->output();

?>




</html>
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
22 févr. 2006 à 11:41
tel que c'est fait tu récupèreras toujours
$site='FAA'
refais un echo derriere la requête

$resultat = $conn->execute($requete) OR DIE ('Erreur de requête!'); // execute la requete

essaie autrement
$resultat=odbc_query($requete);
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
22 févr. 2006 à 11:46
Si je fais un echo de $resultat, j'ai Object qui m'est retourné...
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
22 févr. 2006 à 11:49
non
echo $requete;
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
22 févr. 2006 à 11:52
Si je ne clique pas sur ok pour valider un choix dans la liste déroulante, j'obtiens :

SELECT Nom, Societe, Fixe, Fixe_abrege, Fax, Portable, Mail FROM Annuaire WHERE Societe ='' ORDER BY Nom

Si je valide avec ok, j'ai entre les "" le nom qui a été validé dans la liste.
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
22 févr. 2006 à 11:53
$resultat = $conn->execute($requete) ;

tu es sûr de ça ??
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
22 févr. 2006 à 11:58
Non je pense que c'est foireux j'ai utilisé une autre méthode :
Mais maintenant, j'ai uniquement l'erreur :
Warning: Cannot modify header information - headers already sent by (output started at D:\qualite\tri_annu.php:11) in D:\qualite\fpdf\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file

et si je selectionn puis valide un site, ca ne donne rien de plus...

Voici le nouveau code :

<html>


<head>


</head>


<form method="post">

<select name="Site">
<option value="FAA">FAA</option>
<option value="FAO">FAO</option>
<option value="FCE">FCE</option>
</select>


</form>


<?php


$site = isset($_POST['Site']) ? $_POST['Site'] : false;


$base="D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire="Annuaire";


//connection au serveur:
$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;

//PDF


define('FPDF_FONTPATH','font/');
require('fpdf/fpdf.php');
class PDF extends FPDF
{
//En-tête
function Header()
{
//Couleur texte
$this->SetTextColor(220,50,50);
//Police Arial gras 14
$this->SetFont('Arial','B',14);
//Titre
$this->Cell(0,1,'ANNUAIRE TELEPHONIQUE INTERNE',0,0,'C');
//Saut de ligne
$this->Ln(1.5);


//Titres des colonnes
$this->SetFont('Arial','B',12);
$this->SetFillColor(220,130,130);
$this->SetTextColor(255,255,255);


//Titre
$this->Cell(5,1,'Nom - Prénom',1,0,'C',1);
$this->Cell(4,1,'Site',1,0,'C',1);
$this->Cell(4,1,'N° Téléphone fixe',1,0,'C',1);
$this->Cell(3.5,1,'N° Abrégé (Laf.)',1,0,'C',1);
$this->Cell(3,1,'N° Fax',1,0,'C',1);
$this->Cell(3,1,'N° Portable',1,0,'C',1);
$this->Cell(5,1,'Adresse e-mail',1,0,'C',1);
$this->Ln();


}


//Pied de page
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-1.5);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
//Date du jour
$date = date("d-m-Y");
$this->Cell(0,1,'Date d\'impression : '.$date ,0,0,'L');
//Logo
$this->Image('images/LOGOANNUAIRE.jpg',25,19.5,4,0.5);
//Positionnement à 1,5 cm du bas
$this->SetY(-1.5);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
//Numéro de page
$this->Cell(0,1,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
$pdf=new PDF('L','cm','A4');
$pdf->AliasNbPages();
$pdf->SetFont('Arial','B',12);
$pdf->AddPage();
$pdf->SetFillColor(220,130,130);
$pdf->SetTextColor(255,255,255);



$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(1,$pdf->GetY());
$fond=0;


$resultat odbc_exec( $cnx, "SELECT Nom, Societe, Fixe, Fixe_abrege, Fax, Portable, Mail FROM Annuaire WHERE Societe'$site' ORDER BY Nom");


while( $row = odbc_fetch_array( $resultat ) ) //tant que c pas la fin de la table
{
$pdf->cell(5,0.7,$row['Nom'],1,0,'C',$fond);
$pdf->cell(4,0.7,$row['Societe'],1,0,'C',$fond);
$pdf->cell(4,0.7,$row['Fixe'],1,0,'C',$fond);
$pdf->cell(3.5,0.7,$row['Fixe_abrege'],1,0,'C',$fond);
$pdf->cell(3,0.7,$row['Fax'],1,0,'C',$fond);
$pdf->cell(3,0.7,$row['Portable'],1,0,'C',$fond);
$pdf->cell(5,0.7,$row['Mail'],1,0,'C',$fond);

$pdf->SetXY(1,$pdf->GetY()+0.7);
$fond=!$fond;
}
$pdf->output();

?>




</html>
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
22 févr. 2006 à 12:06
$pdf->output(); --> normal tu affiches du html avant

<?
if(!isset($_POST['Site']))
{
?>
<html><head></head>

<form method="post" action="<? echo $PHP_SELF?>">

<select name="Site">
<option value="FAA">FAA</option>
<option value="FAO">FAO</option>
<option value="FCE">FCE</option>
</select>


</form>
</html>
<?php
}
else
{
$site = isset($_POST['Site']) ? $_POST['Site'] : false;
...

}
0
flopad Messages postés 528 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 6 mars 2009
22 févr. 2006 à 13:47
Ah merci infiniment, ca fonctionne!!!
Voici le code qui est ok:

<?php


if(!isset($_POST['Site']))
{


?>


<html>


<head>


</head>


<form method="post">

<select name="Site">
<option value="FAA">FAA</option>
<option value="FAO">FAO</option>
<option value="FCE">FCE</option>
</select>


</form>




</html>


<?php


}
else
{
$site = isset($_POST['Site']) ? $_POST['Site'] : false;


$base="D:\\Qualite\Annuaire\Annuaire.mdb";
$Annuaire="Annuaire";


//connection au serveur:
$cnx = odbc_connect( "DSN_Annuaire","" ,"") or die ("Impossible de se connecter à la base de donnée") ;

//PDF


define('FPDF_FONTPATH','font/');
require('fpdf/fpdf.php');
class PDF extends FPDF
{
//En-tête
function Header()
{
//Couleur texte
$this->SetTextColor(220,50,50);
//Police Arial gras 14
$this->SetFont('Arial','B',14);
//Titre
$this->Cell(0,1,'ANNUAIRE TELEPHONIQUE INTERNE',0,0,'C');
//Saut de ligne
$this->Ln(1.5);


//Titres des colonnes
$this->SetFont('Arial','B',12);
$this->SetFillColor(220,130,130);
$this->SetTextColor(255,255,255);


//Titre
$this->Cell(5,1,'Nom - Prénom',1,0,'C',1);
$this->Cell(4,1,'Site',1,0,'C',1);
$this->Cell(4,1,'N° Téléphone fixe',1,0,'C',1);
$this->Cell(3.5,1,'N° Abrégé (Laf.)',1,0,'C',1);
$this->Cell(3,1,'N° Fax',1,0,'C',1);
$this->Cell(3,1,'N° Portable',1,0,'C',1);
$this->Cell(5,1,'Adresse e-mail',1,0,'C',1);
$this->Ln();


}


//Pied de page
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-1.5);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
//Date du jour
$date = date("d-m-Y");
$this->Cell(0,1,'Date d\'impression : '.$date ,0,0,'L');
//Logo
$this->Image('images/LOGOANNUAIRE.jpg',25,19.5,4,0.5);
//Positionnement à 1,5 cm du bas
$this->SetY(-1.5);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
//Numéro de page
$this->Cell(0,1,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
$pdf=new PDF('L','cm','A4');
$pdf->AliasNbPages();
$pdf->SetFont('Arial','B',12);
$pdf->AddPage();
$pdf->SetFillColor(220,130,130);
$pdf->SetTextColor(255,255,255);



$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(1,$pdf->GetY());
$fond=0;


$resultat odbc_exec( $cnx, "SELECT Nom, Societe, Fixe, Fixe_abrege, Fax, Portable, Mail FROM Annuaire WHERE Societe'$site' ORDER BY Nom");


while( $row = odbc_fetch_array( $resultat ) ) //tant que c pas la fin de la table
{
$pdf->cell(5,0.7,$row['Nom'],1,0,'C',$fond);
$pdf->cell(4,0.7,$row['Societe'],1,0,'C',$fond);
$pdf->cell(4,0.7,$row['Fixe'],1,0,'C',$fond);
$pdf->cell(3.5,0.7,$row['Fixe_abrege'],1,0,'C',$fond);
$pdf->cell(3,0.7,$row['Fax'],1,0,'C',$fond);
$pdf->cell(3,0.7,$row['Portable'],1,0,'C',$fond);
$pdf->cell(5,0.7,$row['Mail'],1,0,'C',$fond);

$pdf->SetXY(1,$pdf->GetY()+0.7);
$fond=!$fond;
}
$pdf->output();
}
?>
0
Rejoignez-nous