IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Boucle et pdf


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Par défaut Boucle et pdf
    Salut

    Je ne m'en sort pas avec une boucle et je me demande bien pourquoi (pourquoi je m'en sort pas je sais mais pourquoi ça marche pas, ça ! ) donc si vous avez 2 minutes à m'accorder

    En fait j'essaye d'afficher des pdf à partir d'un formulaire qui me permet de selectionner un fourchette de date. Ca fonctionne à moitié, en fait j'ai bien un pdf qui s'ouvre mais avec toujours le même enregistrement qui se répète et là je ne comprends plus.

    voici le code (la partie sur laquelle porte le problème selon moi):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    <?php
     
    include("../../phpToPDF.php");
     
    $PDF=new phpToPDF();
    while ($row_rsfeuillet = mysql_fetch_assoc($rsfeuillet))
    {
     
    // Requete pour obtenir les données d'observance pour chaque patient
     
    $colname_rsobs = "-1";
    if (isset($row_rsfeuillet['id_feu'])) {
      $colname_rsobs = (get_magic_quotes_gpc()) ? $row_rsfeuillet['id_feu'] : addslashes($row_rsfeuillet['id_feu']);
    }
    mysql_select_db($database_igloo, $igloo);
    $query_rsobs = sprintf("SELECT * FROM tobservances LEFT JOIN tusers ON numtec_obs=id_use WHERE numfeu_obs = %s", $colname_rsobs);
    $rsobs = mysql_query($query_rsobs, $igloo) or die(mysql_error());
    $row_rsobs = mysql_fetch_assoc($rsobs);
    $totalRows_rsobs = mysql_num_rows($rsobs);
     
     
     
    // Requete pour obtenir le nom du prescripteur pour chaque patient
    $colname_rspresc = "-1";
    if (isset($row_rsfeuillet['numprescripteur_pat'])) {
      $colname_rspresc = (get_magic_quotes_gpc()) ? $row_rsfeuillet['numprescripteur_pat'] : addslashes($row_rsfeuillet['numprescripteur_pat']);
    }
    mysql_select_db($database_igloo, $igloo);
    $query_rspresc = sprintf("SELECT id_med, nom_med FROM tmedecin WHERE id_med ='%s'", $colname_rspresc);
    $rspresc = mysql_query($query_rspresc, $igloo) or die(mysql_error());
    $row_rspresc = mysql_fetch_assoc($rspresc);
    $totalRows_rspresc = mysql_num_rows($rspresc);
     
    // Requete pour obtenir le nom du généraliste pour chaque patient
    $medpat_rsgen = "-1";
    if (isset($row_rsfeuillet['numgeneraliste_pat'])) {
      $medpat_rsgen = (get_magic_quotes_gpc()) ? $row_rsfeuillet['numgeneraliste_pat'] : addslashes($row_rsfeuillet['numgeneraliste_pat']);
    }
    mysql_select_db($database_igloo, $igloo);
    $query_rsgen = sprintf("SELECT id_med, nom_med FROM tmedecin  WHERE id_med = %s", $medpat_rsgen);
    $rsgen = mysql_query($query_rsgen, $igloo) or die(mysql_error());
    $row_rsgen = mysql_fetch_assoc($rsgen);
    $totalRows_rsgen = mysql_num_rows($rsgen);
     
     
     
    $colname_rsfeuilacc1 = "-1";
    if (isset($_GET['id_feu'])) {
      $colname_rsfeuilacc1 = (get_magic_quotes_gpc()) ? $_GET['id_feu'] : addslashes($_GET['id_feu']);
    }
    mysql_select_db($database_igloo, $igloo);
    $query_rsfeuilacc1 = sprintf("SELECT * FROM tfeuilacc LEFT JOIN taccessoires ON taccessoires.id_acc = tfeuilacc.accesstyp1_feu WHERE numfeuacc_feu = %s", $colname_rsfeuilacc1);
    $rsfeuilacc1 = mysql_query($query_rsfeuilacc1, $igloo) or die(mysql_error());
    $row_rsfeuilacc1 = mysql_fetch_assoc($rsfeuilacc1);
    $totalRows_rsfeuilacc1 = mysql_num_rows($rsfeuilacc1);
     
    $colname_rsfeuilacc2 = "-1";
    if (isset($_GET['id_feu'])) {
      $colname_rsfeuilacc2 = (get_magic_quotes_gpc()) ? $_GET['id_feu'] : addslashes($_GET['id_feu']);
    }
    mysql_select_db($database_igloo, $igloo);
    $query_rsfeuilacc2 = sprintf("SELECT * FROM tfeuilacc LEFT JOIN taccessoires ON taccessoires.id_acc = tfeuilacc.accesstyp2_feu WHERE numfeuacc_feu = %s", $colname_rsfeuilacc2);
    $rsfeuilacc2 = mysql_query($query_rsfeuilacc2, $igloo) or die(mysql_error());
    $row_rsfeuilacc2 = mysql_fetch_assoc($rsfeuilacc2);
    $totalRows_rsfeuilacc2 = mysql_num_rows($rsfeuilacc2);
     
    $colname_rsfeuilacc3 = "-1";
    if (isset($_GET['id_feu'])) {
      $colname_rsfeuilacc3 = (get_magic_quotes_gpc()) ? $_GET['id_feu'] : addslashes($_GET['id_feu']);
    }
    mysql_select_db($database_igloo, $igloo);
    $query_rsfeuilacc3 = sprintf("SELECT * FROM tfeuilacc LEFT JOIN taccessoires ON taccessoires.id_acc = tfeuilacc.accesstyp3_feu WHERE numfeuacc_feu = %s", $colname_rsfeuilacc3);
    $rsfeuilacc3 = mysql_query($query_rsfeuilacc3, $igloo) or die(mysql_error());
    $row_rsfeuilacc3 = mysql_fetch_assoc($rsfeuilacc3);
    $totalRows_rsfeuilacc3 = mysql_num_rows($rsfeuilacc3);
     
    $colname_rsfeuilacc4 = "-1";
    if (isset($_GET['id_feu'])) {
      $colname_rsfeuilacc4 = (get_magic_quotes_gpc()) ? $_GET['id_feu'] : addslashes($_GET['id_feu']);
    }
    mysql_select_db($database_igloo, $igloo);
    $query_rsfeuilacc4 = sprintf("SELECT * FROM tfeuilacc LEFT JOIN taccessoires ON taccessoires.id_acc = tfeuilacc.accesstyp4_feu WHERE numfeuacc_feu = %s", $colname_rsfeuilacc4);
    $rsfeuilacc4 = mysql_query($query_rsfeuilacc4, $igloo) or die(mysql_error());
    $row_rsfeuilacc4 = mysql_fetch_assoc($rsfeuilacc4);
    $totalRows_rsfeuilacc4 = mysql_num_rows($rsfeuilacc4);
     
    $colname_rsfeuilacc5 = "-1";
    if (isset($_GET['id_feu'])) {
      $colname_rsfeuilacc5 = (get_magic_quotes_gpc()) ? $_GET['id_feu'] : addslashes($_GET['id_feu']);
    }
    mysql_select_db($database_igloo, $igloo);
    $query_rsfeuilacc5 = sprintf("SELECT * FROM tfeuilacc LEFT JOIN taccessoires ON taccessoires.id_acc = tfeuilacc.accesstyp5_feu WHERE numfeuacc_feu = %s", $colname_rsfeuilacc5);
    $rsfeuilacc5 = mysql_query($query_rsfeuilacc5, $igloo) or die(mysql_error());
    $row_rsfeuilacc5 = mysql_fetch_assoc($rsfeuilacc5);
    $totalRows_rsfeuilacc5 = mysql_num_rows($rsfeuilacc5);
     
    $colname_rsfeuilacc6 = "-1";
    if (isset($_GET['id_feu'])) {
      $colname_rsfeuilacc6 = (get_magic_quotes_gpc()) ? $_GET['id_feu'] : addslashes($_GET['id_feu']);
    }
    mysql_select_db($database_igloo, $igloo);
    $query_rsfeuilacc6 = sprintf("SELECT * FROM tfeuilacc LEFT JOIN taccessoires ON taccessoires.id_acc = tfeuilacc.accesstyp6_feu WHERE numfeuacc_feu = %s", $colname_rsfeuilacc6);
    $rsfeuilacc6 = mysql_query($query_rsfeuilacc6, $igloo) or die(mysql_error());
    $row_rsfeuilacc6 = mysql_fetch_assoc($rsfeuilacc6);
    $totalRows_rsfeuilacc6 = mysql_num_rows($rsfeuilacc6);
     
     
    $PDF->AddPage();
    $PDF->SetFont('Arial','B',12);
    // $PDF->Image("../../images/tech/logo.jpg", '10', '3', '', '' );
    $PDF->setXY(60, 10);
    $PDF->MultiCell(100, 20, "FEUILLET TECHNIQUE", 1, "C", 0);
    $PDF->setXY(170, 10);
    $PDF->MultiCell(20, 10, "N° 2/AS/B", 1, "C", 0);
    $PDF->SetFont('Arial','',10);
    $PDF->setXY(172, 18);
    $PDF->MultiCell(16, 5, $row_rsfeuillet['id_feu'], "", "C", 0);
    $PDF->setXY(0, 32);
    $PDF->MultiCell(1, 1, "", 0, "C", 0);
    Merci

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Vu que ce sont des éléments qui se répètent, et bien le seul élément de boucle je vois dans code est ceci, au tout début :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while ($row_rsfeuillet = mysql_fetch_assoc($rsfeuillet))
    {
    Le $PDF->AddPage(); se trouvant dans la boucle, et bien peut être que c'est ça qui coince.
    Faudrait peut être le faire qu'1 seule fois, avant la boucle.


    Ceci dit, tu parle d'enregistrement, mais quel enregistrement ? C'est quoi ? Quel contenu ?

  3. #3
    Membre confirmé Avatar de speedy_g
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 213
    Par défaut
    L'enregistrement correspond à $row_rsfeuillet['id_feu'] ?
    Si tu fais un echo de $row_rsfeuillet['id_feu'], est-ce que la valeur se répète ?

    sinon, c'est un problème liée soit à la classe phpToPDF, soit à sa configuration.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Par défaut
    Merci

    En fait toutes les valeurs se répètent sur chaque page et donc aussi $row_rsfeuillet['id_feu']


  5. #5
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par Telecaster
    En fait toutes les valeurs se répètent sur chaque page et donc aussi $row_rsfeuillet['id_feu']
    Et si tu supprime la boucle while, ça donne quoi ?

    Par ceci par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $row_rsfeuillet = mysql_fetch_assoc($rsfeuillet);

  6. #6
    Membre confirmé Avatar de speedy_g
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 213
    Par défaut
    Donc ce serait simplement une erreur dans la base de données. non ?

    si lors du while tu récupères à chaque fois la même valeur pour row['id_feu'], ca veut dire que dans la db, c'est comme ca pour tous les enregistrements. non ?

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Par défaut
    En fait, je n'ai qu'un seul enregistrement dans ma base de données, c'est là que je ne comprends pas !

Discussions similaires

  1. Boucle Publipostage & PDF - VBA
    Par Lilou51 dans le forum VBA Word
    Réponses: 34
    Dernier message: 24/09/2009, 14h27
  2. créer des fichier de sortie pdf en boucle
    Par papekiki dans le forum Langage
    Réponses: 3
    Dernier message: 24/08/2009, 13h43
  3. Edition automatique et en boucle d'un formulaire en PDF
    Par hydro.geo.consult dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/01/2009, 07h45
  4. Impression en boucle de doc.pdf en php
    Par Ashleycole dans le forum Langage
    Réponses: 1
    Dernier message: 20/07/2007, 13h45
  5. Réponses: 2
    Dernier message: 22/05/2006, 00h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo