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

Oracle Discussion :

Les formulaires sous le portal d'oracle


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 13
    Points
    13
    Par défaut Les formulaires sous le portal d'oracle
    PLEASE HELP

    J'ai créé une dynamic page sous le portal oracle.

    Ca fait plusieurs jours que je bute sur le pb suivant : je n'arrive pas à stocker dans une variable pl/sql (par ex de type varchar2) la valeur selectionnée d'un formulaire select HTML.

    L'un d'entre vous pourrait-il m'aider?

    Merci.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Points : 1 326
    Points
    1 326
    Par défaut
    euh j'avoue etre assez performant en PL/SQL et en portal mais sans code je ne pourrais rien faire pour toi

    Merci de mettre le code de ta dynamic page

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 13
    Points
    13
    Par défaut
    Aaaaaaaaaaah, peut etre enfin une personne performante

    Voici un extrait de mon 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
     
    <HTML>
    .
    .
    <ORACLE>
    DECLARE
    test_stock VARCHAR2(20);
    .
    .
    .
    BEGIN
    .
    .
    htp.p('<FORM NAME="Fo">');
    htp.p('<SELECT NAME="liste" onSelect=''Fo.resultat.value+=Fo.liste.options[Fo.liste.selectedIndex].value''>;');
    htp.p('<OPTION VALUE="matin " >Matin');
    htp.p('<OPTION VALUE="midi ">Midi');
    htp.p('<OPTION VALUE="soir ">Soir');
    htp.p('</SELECT>');
    htp.p('<INPUT TYPE=TEXTE SIZE=40 NAME="resultat" VALUE="valeur sélectionnée:" >');
    htp.p('</FORM>');
    Coment mettre ici du code permettant de stocker Fo.liste.options[Fo.liste.selectedIndex].value dans la variable test_stock
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    </ORACLE>
     
    </HTML>

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Points : 1 326
    Points
    1 326
    Par défaut
    Donc toi tu veux appeler ta page une fois.

    choisir une option

    Lancer le formulaire et en fonction de la variable selectionnée la stocker lors du rafraichissement de la page dans ta variable c'est bien ca.

    en gros
    1er appel
    test_stock= null;
    selection de la valeur dans ta liste déroulante
    Submit du form
    2eme appel (lié au formulaire)
    test_stock=valeur selectionné au préalable

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 13
    Points
    13
    Par défaut
    En fait, mon pb ne se situe pas au niveau de la marche à suivre, mais au niveau de la syntaxe. Comment fais tu exactement pour stocker la valeur selectionnée dans une variable PL/SQL.

    Merci

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Points : 1 326
    Points
    1 326
    Par défaut
    je sais bien que ce n'est pas le pb de l'ordre mais un pb de syntaxe.

    Mais en fonction des étapes la méthode change.

    Dans un cas c'est très simple cela ce resume à créer une procedure PL/SQL et dans l'autres cas cela ce resume à utiliser une procedure PL fournie par oracle

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 13
    Points
    13
    Par défaut
    Ok, dans ce cas, les étapes que tu as décrites sont correctes
    Es tu en mesure de m'aider maintenant? Tu as besoin d'autres info?

    Merci.

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Points : 1 326
    Points
    1 326
    Par défaut
    Oki donc si les étapes que je t'ai décrite sont correctes ont va utiliser un méthode que je viens de découvrir il y a peu.

    Quand tu vas envoyer ton formulaire il va passer les arguments dans l'adresse (passage en mode GET) ce qui veux dire que ton url va ressembler à un truc du genre

    Voici un exemple de code

    dans ta page dynamique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <ORACLE>begin
    htp.prn(:tata);
    end;
    </ORACLE>

    ce qui reviens à faire un formulaire en fait avec ce code je veux afficher ce qui sera passé en argument dans mon url à ma variable tata. Ensuite tu vas sur l'onglet Customization Form Display Options et tu coche make public pour ta bind variable.

    La ca se complique un peu.

    Tu ne peux pas directement appeler une page dynamique en lui passant tes arguments. Oracle ne comprendrais pas.

    Il va donc falloir que tu te génére une url bien spécifique

    une url du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HTML_APP.DYN_0630093559.show?p_arg_names=tata&p_arg_values=hello world
    Ce qui veut dire que pour chaque variable que tu voudras passer à ta page avec ton formulaire qu'il faudra que tu crées 2 parametres
    p_arg_names qui contiendra le nom de ton parametre suivit de p_arg_values qui contiendra sa valeur

    Donc dans ton cas voici un exemple plus proche

    Cree une page dynamique
    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
    <ORACLE>declare
    valeur1 number:=to_number(:v1);
    valeur2 number:=to_number(:v2);
    begin
    htp.prn('<FORM>');
    htp.formhidden('p_arg_names','v1');
    htp.formtext('p_arg_values');
    htp.br;
    htp.formhidden('p_arg_names','v2');
    htp.formtext('p_arg_values');
    htp.br;
    htp.formsubmit;
    htp.prn('</FORM>');
    htp.prn('----- AFFICHAGE DE L''ADDITION-----');
    if valeur1 is null and valeur2 is null then
    htp.prn('Pas de résultat');
    else
    htp.prn('Resultat = '||to_char(valeur1 +valeur2));
    end if;
    end;
    </ORACLE>

    Dans l'onglet Customization Form Display Options coche make plublic pour les 2 variables.

    Click sur finish

    Lance l'application

    Entre deux chiffres et click sur submit

    Voila j'espere que cela t'aidera

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup. Ton aide est vraiment très précieuse. Tu viens de me permettre de ne pas parraître ridicule quand mon chef reviendra de vacances
    Merci encore.

  10. #10
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Citation Envoyé par nic211
    Merci beaucoup. Ton aide est vraiment très précieuse. Tu viens de me permettre de ne pas parraître ridicule quand mon chef reviendra de vacances
    Merci encore.
    l'essentiel à mon goût, est surtout de ne pas paraître ridicule à soi-même, avant tout !
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  11. #11
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2003
    Messages : 412
    Points : 1 326
    Points
    1 326
    Par défaut
    De rien

  12. #12
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par SheikYerbouti
    l'essentiel à mon goût, est surtout de ne pas paraître ridicule à soi-même, avant tout !
    100% VRAI!
    Donc je reformule, merci à helyos grâce à qui je ne me sens pas ridicule

  13. #13
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 13
    Points
    13
    Par défaut
    Cette méthode m'a bien dépanné, mais je suis de nouveau confronté à un problème. J'utilise des fonctions javascripts qui permettent de griser certains champs de mon formulaire. Pour cela, j'ai donc besoin d'identifier chaque objet de mon formulaire. Malheureusement, avec la méthode que tu m'as donné, je n'arrive pas à renommer chaque objet.

    Tu sais comment faire?

  14. #14
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Avril 2003
    Messages : 288
    Points : 165
    Points
    165
    Par défaut
    Pour cela, j'ai donc besoin d'identifier chaque objet de mon formulaire
    .

    En javascript tu peux récupérer la valeur des champs de ton formulaire soit par le nom du champ, soit par sa position :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.forms.elements[i].value
    -> la synthaxe dépend du navigateur et du type de champ !!!

    J'espère répondre à ta question ! Sinon, détailles un peu mieux ton pb !

    Remarque : j'ai fait pas mal de portal et de PL/SQL -> je préfère de loin créé ma propre portlet (avec tout le code PL ou java) plutôt que d'utiliser les outils d'oracle portal !

  15. #15
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 13
    Points
    13
    Par défaut
    Merci, mais à quoi correspond i ?

  16. #16
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Avril 2003
    Messages : 288
    Points : 165
    Points
    165
    Par défaut
    Merci, mais à quoi correspond i ?
    A une valeur entière qui correspond à la position du champ (ou de la valeur) que tu recherches.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form name= ...>
    <input type='hidden' name='CHAMP_1_' value='3000'>
    <input type='text' name='CHAMP_2_' value='2354'>
    <input type='text' name='CHAMP_3_' value='1234'>
    <select name='CHAMP_4_' >
         <option value=''></option>
        .......
    </select>
    etc
    La valeur du champ de nom CHAMP_2_ et de position i=1 (i -> commence à 0) s'obtient de la manière suivante (en javascript) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaVar = document.forms.elements[1].value

  17. #17
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 35
    Points : 13
    Points
    13
    Par défaut
    Merci pour tout, maintenant tout fonctionne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Graphiques dans les formulaires sous Access 2007
    Par Qualensys dans le forum IHM
    Réponses: 1
    Dernier message: 16/03/2009, 14h53
  2. Comment faire un Select avec les formulaires sous Access?
    Par kesamba dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 21/11/2007, 10h57
  3. Réponses: 18
    Dernier message: 14/06/2007, 19h34
  4. pb sur les tables sous oracle
    Par pepsister dans le forum Administration
    Réponses: 6
    Dernier message: 09/11/2006, 21h56
  5. Réponses: 6
    Dernier message: 19/05/2005, 11h06

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