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

PL/SQL Oracle Discussion :

HTML - affichage de tableaux et conditions


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 17
    Par défaut HTML - affichage de tableaux et conditions
    Bonjour,

    J'aurais besoin d'aide avec mon code. Je veux afficher la liste des DVDs et de son contenu reliés à un projet X. Chaque DVD doit être un tableau différent:
    Dans le début de code, j'ai les problèmes suivants:

    1) Le nom du DVD se répète à chaque 2 ligne...
    2) Chaque ligne contient le meme nom de DVD

    Pour chaque tableau (DVDet contenu) , j'aimerais avoir un tableau de 7 colonnes.

    Ma requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Id, DVD_ID,NomFichier,PROJET_ID FROM elements

    Affichage désiré:
    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
    DVD 85
    2635080	2636608	2637084	2637091	2637092	2637093	2637147
    2637152	2637153	2637154	2637155	2637156	2637157	2637164
    2637169	2637170	2637172	2637173	2637202	2637203	2637213
    2637214	2637215	2637216	2637218	2637217	2637219	2637220
    ...	...	...	...	...	...	
     
    DVD 86
    2639497	2639498	2639502	2639504	2639505	2639506	
    2639508	2639509	2639511	2639512	2639519	2639521	2639522
    2639523	2639525	2639527	2639530	2639542	2639543	2639552
    2639553	2639554	2639555	2639559	2639560	2639561	2639563
    2639564	2639565	2639567	2639574	2639575	2639578	2639579
    ...	...	...	...	...	...	
     
    DVD 87
    2641806	2641807	2641808	2641809	2641810	2641819	
    2641821	2641824	2641827	2641828	2641830	2641831	
    2641834	2641838	2641839	2641846	2641847	2641849	
    2641851	2641852	2641853	2641854	2641855	2641863	
    ...	...	...	...	...	...	...
     
    etc...
    Mon début de code:

    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
    BEGIN
    htp.p('<HTML>');
    htp.p('<HEAD>');
    htp.p('<TITLE>DISQUES C</TITLE>');
    htp.p('</HEAD>');
    htp.p('<BODY>');
    for idx in (SELECT Id, DVD_ID,NomFichier,PROJET_ID FROM elements where PROJET_ID=1 )loop
        htp.p('<TABLE>');
        htp.p('<TR>');
       htp.p('<TD>'||idx.DVD_ID||' </TD> ');
       htp.p('</TR>');
       htp.p('<TR>');
       htp.p('<TD>'||idx.NomFichier||' </TD>  <TD>'||idx.NomFichier||' </TD>  <TD>'||idx.NomFichier||
    ' </TD> <TD>'||idx.NomFichier||' </TD> <TD>'||idx.NomFichier||' </TD> <TD>'||idx.NomFichier||' </TD> <TD>'||
    idx.NomFichier||' </TD> <TD>'||idx.NomFichier||' </TD>');
       htp.p('</TR>');
    htp.p('</TABLE>');
    end loop;
    htp.p('</BODY>');
    htp.p('</HTML>');
    end;

    Merci pour votre aide,

    Roseline
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Je n'y connais rien du tout en Oracle HTML, mais d'instinct j'utiliserai les fonctions analytique pour savoir si un élément est le premier de sa liste, le dernier, et si on est arrivé à sept éléments.

    Ca donnerait quelque chose du genre :
    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
    DECLARE
      vtemp  varchar2(4000) default ' ';
     
    BEGIN
      htp.p('<HTML>');
      htp.p('<HEAD>');
      htp.p('<TITLE>DISQUES C</TITLE>');
      htp.p('</HEAD>');
      htp.p('<BODY>');
     
    FOR idx IN
        (
        SELECT DVD_ID, NomFichier,
               row_number() over(partition by DVD_ID order by NomFichier  asc) as rna,
               row_number() over(partition by DVD_ID order by NomFichier desc) as rnd
          FROM elements
         WHERE PROJET_ID = 1
      ORDER BY DVD_ID ASC, rna ASC
        )
          loop
     
            if idx.rna = 1
            then
              htp.p('<TABLE>');
              htp.p('<TR>');
              htp.p('<TD>' || idx.DVD_ID ||' </TD> ');
              htp.p('</TR>');
              htp.p('<TR>');
            end if;
     
            vtemp := vtemp || '<TD>' || idx.NomFichier || ' </TD>';
     
            if mod(idx.rna, 7) = 0 or idx.rnd = 1
            then
              htp.p(vtemp);
              vtemp := ' ';
            end if;
     
            if idx.rnd = 1
            then
              htp.p('</TR>');
              htp.p('</TABLE>');
            end if;
     
          end loop;
     
    htp.p('</BODY>');
    htp.p('</HTML>');
     
    end;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 17
    Par défaut HTML - affichage de tableaux et conditions
    Oui, votre instinct est bon!
    Je me rapproche du résultat voulu.

    Seulement, les fichiers sont tous sur la même ligne.
    Je vais tenter de modifier le code

    merci,

    Roseline

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 17
    Par défaut Aide - Modification Code pour affichage Tableau sur plusieurs lignes
    Bonjour,

    J'ai tenté sans succès de modifier ce code pour afficher les résultats de ma requête dans un tableau de 7 colonnes, plusieurs lignes.

    Présentement, cela affiche dans un tableau 1 colonne, une ligne.

    Pourriez-vous m'aider à modifier le code?


    Merci,

    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
    DECLARE
      vtemp  varchar2(4000) DEFAULT ' ';
     
    BEGIN
      htp.p('<HTML>');
      htp.p('<HEAD>');
      htp.p('<TITLE>DISQUES C</TITLE>');
      htp.p('</HEAD>');
      htp.p('<BODY>');
     
    FOR idx IN
        (
        SELECT DVD_ID, NomFichier,
               row_number() over(partition BY DVD_ID ORDER BY NomFichier  ASC) AS rna,
               row_number() over(partition BY DVD_ID ORDER BY NomFichier DESC) AS rnd
          FROM elements
         WHERE PROJET_ID = 1
      ORDER BY DVD_ID ASC, rna ASC
        )
          loop
     
            IF idx.rna = 1
            then
              htp.p('<TABLE>');
              htp.p('<TR>');
              htp.p('<TD>' || idx.DVD_ID ||' </TD> ');
              htp.p('</TR>');
              htp.p('<TR>');
            end IF;
     
            vtemp := vtemp || '<TD>' || idx.NomFichier || ' </TD>';
     
            IF mod(idx.rna, 7) = 0 OR idx.rnd = 1
            then
              htp.p(vtemp);
              vtemp := ' ';
            end IF;
     
            IF idx.rnd = 1
            then
              htp.p('</TR>');
              htp.p('</TABLE>');
            end IF;
     
          end loop;
     
    htp.p('</BODY>');
    htp.p('</HTML>');
     
    end;

  5. #5
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    J'ai juste rajouté une balise BR quand on arrive sur le modulo 7 :
    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
    DECLARE
      vtemp  varchar2(4000) DEFAULT ' ';
     
    BEGIN
      htp.p('<HTML>');
      htp.p('<HEAD>');
      htp.p('<TITLE>DISQUES C</TITLE>');
      htp.p('</HEAD>');
      htp.p('<BODY>');
     
    FOR idx IN
        (
        SELECT DVD_ID, NomFichier,
               row_number() over(partition BY DVD_ID ORDER BY NomFichier  ASC) AS rna,
               row_number() over(partition BY DVD_ID ORDER BY NomFichier DESC) AS rnd
          FROM elements
         WHERE PROJET_ID = 1
      ORDER BY DVD_ID ASC, rna ASC
        )
          loop
     
            IF idx.rna = 1
            then
              htp.p('<TABLE>');
              htp.p('<TR>');
              htp.p('<TD>' || idx.DVD_ID ||' </TD> ');
              htp.p('</TR>');
              htp.p('<TR>');
              vtemp := ' ';
            end IF;
     
            vtemp := vtemp || '<TD>' || idx.NomFichier || ' </TD>';
     
            IF mod(idx.rna, 7) = 0 OR idx.rnd = 1
            then
              htp.p(vtemp);
              htp.p('<BR></BR>');
              vtemp := ' ';
            end IF;
     
            IF idx.rnd = 1
            then
              htp.p('</TR>');
              htp.p('</TABLE>');
            end IF;
     
          end loop;
     
    htp.p('</BODY>');
    htp.p('</HTML>');
     
    end;

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 17
    Par défaut Aide - Modification Code pour affichage Tableau sur plusieurs lignes
    Bonjour,

    Les résultats sont toujours sur la même ligne et les balises BR s'appliquent entre les tableaux, laissant un grand espace blanc entre les 2.

Discussions similaires

  1. Affichage de tableaux dans un tableau HTML
    Par remus69 dans le forum Langage
    Réponses: 7
    Dernier message: 03/04/2012, 14h29
  2. [HTML] affichage du contenu des balises 'alt' dans une iframe
    Par etarip dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 11/08/2005, 14h08
  3. [DEBUTANT][HTML] affichage d'une image dans une page
    Par nimport nawak dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 12/04/2005, 19h50
  4. problème en html (affichage)
    Par lora dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/12/2004, 19h03
  5. [HTML]Imbrication de tableaux
    Par LhIaScZkTer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 06/11/2004, 11h33

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