flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009
-
16 févr. 2006 à 17:31
flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009
-
20 févr. 2006 à 08:22
Salut,
Je voudrais donner une taille prédéfinie à mes colonnes, j'ai vu que je pouvvais faire qque chose comme ajouter =>50 apres le titre de chaque colonne, mais ca me donne une erreur concernant l'offset.
Est ce que c'est juste une histoire de mauvais placement de cette ligne dans mon code ou autre chose?
Ensuite, je ne comprends pas pouruoi mes entêtes de colonnes n'apparaissent que sur la première page???
Merci d'avance!!
Code pour info :
<?php
if (isset ($_POST['submit']) && $_POST['submit'] === 'Valider') {
$header = array();
$header[] = 'Nom - Prénom';
for ($m=0;$m<count($_POST['choix']);$m++){
switch($_POST['choix'][$m]){
case 'Societe': $header[] = 'Site';
break;
case 'Fixe': $header[] = 'N° Téléphone fixe';
break;
case 'Fax': $header[] = 'N° fax';
break;
case 'Portable': $header[] = 'N° Portable';
break;
case 'Mail': $header[] = 'Adresse e-mail';
break;
default: break;
}
}
$pdf->cell(4.7,1,$header[0],1,0,'C',1);// Le nom dans tous les cas
for($i=0;$i<count($_POST['choix']);$i++)
{
if(isset($_POST['choix'][$i]))
$pdf->cell(4.7,1,$header[$i+1],1,0,'C',1);// les autres postes si cases cochées
}
$resultat = odbc_exec( $cnx, 'SELECT Nom'.$addInQuery.' FROM Annuaire ORDER BY Nom');
$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(1,$pdf->GetY()+1);
$fond=0;
while( $row = odbc_fetch_array( $resultat ) ) //tant que c pas la fin de la table
{
$pdf->cell(4.7,0.7,$row['Nom'],1,0,'C',$fond);
for ($m=0;$m<count($_POST['choix']);$m++){
if(isset($_POST['choix'][$m]))
$pdf->cell(4.7,0.7,$row[$_POST['choix'][$m]],1,0,'C',$fond);
}
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 17 févr. 2006 à 15:01
Explique noir sur blanc, avec des phrases lol pas du code, ce que tu veux faire, dans le détail, en commençant à partir de ton test de soumission du formulaire : tu détailles ce que tu fais, pas à pas, là-dedans.
J'y verrai plus clair.
flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009 17 févr. 2006 à 08:26
Ah maintenant, lorsque je rajoute ce qui est en rouge ci-dessous, ca me sort : Parse error: syntax error, unexpected T_DOUBLE_ARROW
Comment je peux corriger ca...?
//Titres des colonnes
$header = array();
$header[] = 'Nom - Prénom'=>50;
for ($m=0;$m<count($_POST['choix']);$m++){
switch($_POST['choix'][$m]){
case 'Societe': $header[] = 'Site';
break;
case 'Fixe': $header[] = 'N° Téléphone fixe';
break;
case 'Fax': $header[] = 'N° fax';
break;
case 'Portable': $header[] = 'N° Portable';
break;
case 'Mail': $header[] = 'Adresse e-mail';
break;
default: break;
}
}
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 17 févr. 2006 à 09:17
Lol, faut revoir ta façon de créer des tableaux, Flopad :-)
Tu veux avoir quoi dans ce tableau ?
$header array ('Nom - Prenom'> 50);
Tu auras ujn tableau de cette forme :
$header['Nom - prenom'] = 50;
(tu peux aussi le créer comme ça, d'ailleurs).
Mais bon, je ne saisis pas ce que tu essayes vraiment de faire, en fait.
flopad
Messages postés528Date d'inscriptionmercredi 28 septembre 2005StatutMembreDernière intervention 6 mars 2009 17 févr. 2006 à 09:22
La j'ai modifié de cette manière mais ca me donne des erreurs d'offset sur les 2 lignes en rouge :
//Titres des colonnes
$header = array();
$header['Nom - Prénom'] = 5;
for ($m=0;$m<count($_POST['choix']);$m++){
switch($_POST['choix'][$m]){
case 'Societe': $header['Site'] = 5;
break;
case 'Fixe': $header['N° Téléphone fixe'] = 3;
break;
case 'Fax': $header['N° fax'] = 3;
break;
case 'Portable': $header['N° Portable'] = 3;
break;
case 'Mail': $header['Adresse e-mail'] = 5;
break;
default: break;
}
}
$pdf->cell(4.7,1,$header[0],1,0,'C',1);// Le nom dans tous les cas
for($i =0;$i<count($_POST['choix']);$i++)
{
if(isset($_POST['choix'][$i]))
$pdf->cell(4.7,1,$header[$i+1],1,0,'C',1);// les autres postes si cases cochées }
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 17 févr. 2006 à 09:34
Ben évidemment, tes clefs sont associatives (ce sont des chaines de caractères)! Et tu appelles ensuite ton tableau aavec des clefs numériques : elles n'existent pas!
foreach ($aCorrespondannce as $clef => $val)
{
if(isset($_POST['choix'][$clef]))
$pdf->cell(4.7,1,$header[$val],1,0,'C',1);// les autres postes si cases cochées }
foreach ($aCorrespondannce as $clef => $val)
{
if(isset($_POST['choix'][$clef]))
$pdf->cell(4.7,1,$header[$val],1,0,'C',1);// les autres postes si cases cochées
}
foreach ($aCorrespondance as $clef => $val)
{
if(isset($_POST['choix'][$clef]))
$pdf->cell(4.7,1,$header[$val],1,0,'C',1);// les autres postes si cases cochées
}
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 17 févr. 2006 à 11:27
T'as pas modifié ton formulaire hein ?
Il ne devrait pas prendre en compte les cases décochées si tu as bien fait correspondre les cases à cocher et le tableau de correspondance, puisque tu testes l'existence de la variable.
foreach ($aCorrespondance as $clef => $val)
{
if(isset($_POST['choix'][$clef]))
$pdf->cell(4.7,1,$header[$val],1,0,'C',1);// les autres postes si cases cochées
}
$resultat = odbc_exec( $cnx, 'SELECT Nom'.$addInQuery.' FROM Annuaire ORDER BY Nom');
$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(1,$pdf->GetY()+1);
$fond=0;
while( $row = odbc_fetch_array( $resultat ) ) //tant que c pas la fin de la table
{
$pdf->cell(4.7,0.7,$row['Nom'],1,0,'C',$fond);
for ($m=0;$m<count($_POST['choix']);$m++){
if(isset($_POST['choix'][$m]))
$pdf->cell(4.7,0.7,$row[$_POST['choix'][$m]],1,0,'C',$fond);
}