Eatthis Geschrieben 9. Juli 2003 Geschrieben 9. Juli 2003 Hi Leute, hab da mal eine Frage, hoffe doch das ich hier richtig rein poste ;-) Also ich benutzte PL/SQL und HTML. Ich ahbe eine HTML seite über die mir Tabellarich die inhalte einer Gewissen Tabelle ausgegeben werden. Ich benutze Oracle9i und das ganze läuft über den Oracle http server . Ich habe somit eine Page mit einem Frameset drin. Es sind genau 2 Frames, einer oben und der andere unten. Im oberen frame ist die seite in der ich daten in die eingebe die dann per buttonklick ind die datenbank reingeschrieben werden. im unteren Frame ist nur die Ausgabe der Daten in einer Tabelle. ich würde jetzt gerne wissen wie ich es mache das wenn ich im oberen frame auf speichern klicke mein unterer frame so aktualisiert wird das ich den eintrag angezeigt bekomme den ich oben eingetragen habe. Also will einfach wissen wie ich die untere frame aktualisiere bei buttonklick. Brauche einen HTMl oder PL/SQL befehl. schonmal Danke vorab Gruss Eatthis Zitieren
HolzOnkel Geschrieben 9. Juli 2003 Geschrieben 9. Juli 2003 ...gehört eigentlich in die WebProgrammierer - Ecke... ich würde es mit JavaScript oder sowas machen. Aber frag die Experten dazu! Gruss, der Onkel Zitieren
Eatthis Geschrieben 10. Juli 2003 Autor Geschrieben 10. Juli 2003 ja, danke, ich war mir nicht sicher wohin ichs schreiben sollte Zitieren
Wolle Geschrieben 10. Juli 2003 Geschrieben 10. Juli 2003 Original geschrieben von Eatthis ja, danke, ich war mir nicht sicher wohin ichs schreiben sollte Ich schiebs mal rüber Zitieren
AxlHammer Geschrieben 11. Juli 2003 Geschrieben 11. Juli 2003 Hallo, benutzt du zur Web-Seite generierung das HTP-Package? Gruß, Axl Zitieren
Eatthis Geschrieben 11. Juli 2003 Autor Geschrieben 11. Juli 2003 Nein, also die webseiten werden nicht generiert, die schreib ich selber. hier ist ein bsp: CREATE OR REPLACE PACKAGE BODY telbuch AS -- Globale Variablen: pv_module_pfad varchar2(100) :='http://K7169106/pls/eat/telbuch.'; -- Pfad zum Prozeduraufruf PROCEDURE Startseite --Zeigt die Haupt-Frame an AS BEGIN htp.p ('<html>'); htp.p (' <head>'); htp.p (' <title>Datenverwaltung Azubis DP-ITSolutions GmbH - Standort: Trier</title>'); htp.p (' <meta name="author" content="Sebastian Thommes">'); htp.p (' <meta name="copyright" content="Deutsche Post ITSolutions GmbH">'); htp.p (' </head>'); htp.p (''); htp.p (' <frameset rows="*" cols="15%,*" framespacing="0" frameborder="Yes" border="2">'); htp.p (' <!-- (Obere frame) -->'); htp.p (' <frame name="Left" src="'||pv_module_pfad||'Menue" scrolling="no">'); htp.p (''); htp.p (' <!-- (Mitlere frame) -->'); htp.p (' <frame name="Haupt" src="'||pv_module_pfad||'anzeigen" scrolling="no">'); htp.p (''); htp.p (' <noframes>'); htp.p (' Ihr Browser kann keine Frames darstellen!'); htp.p (' </noframes>'); htp.p ('</frameset>'); htp.p ('</html>'); END Startseite; PROCEDURE anzeigen IS n_azubinr number; v_name varchar2(20); v_vorname varchar2(20); v_strasse varchar2(20); v_ort varchar2(20); n_plz number(5); v_telpri varchar2(16); v_raumnr varchar2(5); v_telges varchar2(16); TYPE cur_type IS REF CURSOR; cur_lesen cur_type; BEGIN htp.p('<html>'); htp.p('<head>'); htp.p('<title>Auslesen</title>'); htp.p('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); htp.p('</head>'); htp.p('<body>'); htp.p('<table width="37%" border="1">'); htp.p(' <tr> '); htp.p(' <td width="27%"><strong>Azubinr</strong></td>'); htp.p(' <td width="34%"><strong>Name</strong></td>'); htp.p(' <td width="39%"><strong>Vorname</strong></td>'); htp.p(' <td width="39%"><strong>Strasse</strong></td>'); htp.p(' <td width="39%"><strong>Ort</strong></td>'); htp.p(' <td width="39%"><strong>PLZ</strong></td>'); htp.p(' <td width="39%"><strong>Telefon Privat</strong></td>'); htp.p(' <td width="39%"><strong>Raumnr</strong></td>'); htp.p(' <td width="39%"><strong>Telfon Geschäftlich</strong></td>'); htp.p(' <td width="39%"><strong>Loeschen</strong></td>'); htp.p(' </tr>'); OPEN cur_lesen FOR 'select azb_id,Name,Vorname,Strasse,Ort,Plz,Telpri,Raumnr,Telges from tb_telbuch' ; LOOP FETCH cur_lesen INTO n_azubinr,v_name,v_vorname,v_strasse,v_ort,n_plz,v_telpri,v_raumnr,v_telges; EXIT WHEN cur_lesen%notfound; htp.p(' <tr> '); htp.p(' <td>'||n_azubinr||'</td>'); htp.p(' <td>'||v_name||'</td>'); htp.p(' <td>'||v_vorname||'</td>'); htp.p(' <td>'||v_strasse||'</td>'); htp.p(' <td>'||v_ort||'</td>'); htp.p(' <td>'||n_plz||'</td>'); htp.p(' <td>'||v_telpri||'</td>'); htp.p(' <td>'||v_raumnr||'</td>'); htp.p(' <td>'||v_telges||'</td>'); htp.p(' <td><a href="'||pv_module_pfad||'loeschen?v_azubi_id='||n_azubinr||'"> L </a></td>'); htp.p(' </tr>'); END loop; htp.p('</table>'); htp.p('</body>'); htp.p('</html>'); END anzeigen; PROCEDURE eingeben IS BEGIN htp.p('<html>'); htp.p('<head>'); htp.p('<title>Erfassung</title>'); htp.p('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); htp.p('</head>'); htp.p('<body>'); htp.p('<form action="'||pv_module_pfad||'schreiben" method=get>'); htp.p('Name eingeben: <input name="Text_name" type="text" size="15" maxlength="20">'); htp.p('<br>'); htp.p('Vorname eingeben: <input name="Text_vorname" type="text" size="15" maxlength="20">'); htp.p('<br>'); htp.p('Straße eingeben: <input name="Text_straße" type="text" size="15" maxlength="20">'); htp.p('<br>'); htp.p('Ort eingeben: <input name="Text_ort" type="text" size="15" maxlength="20">'); htp.p('<br>'); htp.p('Plz eingeben: <input name="Nummer_plz" type="text" size="8" maxlength="5">'); htp.p('<br>'); htp.p('Tel. Privat eingeben: <input name="Text_telpri" type="text" size="15" maxlength="16">'); htp.p('<br>'); htp.p('Raumnr. eingeben: <input name="Text_raumnr" type="text" size="8" maxlength="5">'); htp.p('<br>'); htp.p('Tel. Geschaeftlich eingeben: <input name="Text_telges" type="text" size="15" maxlength="16">'); htp.p('<p>'); htp.p(' <input name="Save_button" type="submit" value="Speichern">'); htp.p('</p>'); htp.p('</form>'); htp.p('</body>'); htp.p('</html>'); END eingeben; PROCEDURE schreiben ( Text_name in varchar2, Text_vorname in varchar2, Text_straße in varchar2, Text_ort in varchar2, Nummer_plz in number, Text_telpri in varchar2, Text_raumnr in varchar2, Text_telges in varchar2, Save_button in varchar2 := 'x' ) IS BEGIN IF Save_button = 'Speichern' THEN insert into TB_TELBUCH (Azb_id,Name,Vorname,Strasse,Ort,Plz,Telpri,Raumnr,Telges) values (sq_azbid.nextval,Text_name,Text_vorname,Text_straße,Text_ort,Nummer_plz,Text_telpri,Text_raumnr,Text_telges); commit; htp.p('<html>'); htp.p('<head>'); htp.p('<title>Gespeichert!</title>'); htp.p('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); htp.p('</head>'); htp.p('<body>'); htp.p('Erfolgreich abgespeichert :-)'); htp.p('</br>'); htp.p('</body>'); htp.p('</html>'); ELSIF Save_button = 'x' THEN htp.p('<html>'); htp.p('<head>'); htp.p('<title>Fehler!</title>'); htp.p('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); htp.p('</head>'); htp.p('<body>'); htp.p('Zuerst Prozedur "eingeben" aufrufen!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'); htp.p('</body>'); htp.p('</html>'); END IF; eingeben; -- Prozeduraufruf zum aktualisieren END schreiben; PROCEDURE Menue IS BEGIN htp.p('<html>'); htp.p('<head>'); htp.p('<title>Menue</title>'); htp.p('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); htp.p('</head>'); htp.p('<body>'); htp.p('<center>'); htp.p('<br>'); htp.p('<br>'); htp.p('<br>'); htp.p('<br>'); htp.p('<a href="'||pv_module_pfad||'anzeigen" target="Haupt">Alle Daten anzeigen</a>'); htp.p('<br>'); htp.p('<br>'); htp.p('<a href="'||pv_module_pfad||'eingeben" target="Haupt">Azubi eintragen</a>'); htp.p('<br>'); htp.p('<br>'); htp.p('<a href="'||pv_module_pfad||'anzeigen" target="Haupt">Ändern</a>'); htp.p('<br>'); htp.p('<br>'); htp.p('<a href="'||pv_module_pfad||'eingeben" target="Haupt">Löschen</a>'); htp.p('</center>'); htp.p('</body>'); htp.p('</html>'); END Menue; PROCEDURE loeschen ( v_azubi_id number ) AS BEGIN delete from SCOTT.tb_telbuch where azb_id = v_azubi_id; commit; htp.p ('<html>'); htp.p ('<head>'); htp.p ('<title>Geloescht</title>'); htp.p ('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); htp.p ('</head>'); htp.p ('<body>'); htp.p (' <b><font color="#FF3333">Datensatz des Azubis wurde gelöscht!</font></b> '); htp.p ('</div>'); htp.p ('</body>'); htp.p ('</html>'); END loeschen; gruss eat Zitieren
kills Geschrieben 11. Juli 2003 Geschrieben 11. Juli 2003 Original geschrieben von Eatthis Nein, also die webseiten werden nicht generiert, die schreib ich selber. hier ist ein bsp: CREATE OR REPLACE PACKAGE BODY telbuch AS -- Globale Variablen: pv_module_pfad varchar2(100) :='http://K7169106/pls/eat/telbuch.'; -- Pfad zum Prozeduraufruf PROCEDURE Startseite --Zeigt die Haupt-Frame an AS BEGIN htp.p ('<html>'); htp.p (' <head>'); htp.p (' <title>Datenverwaltung Azubis DP-ITSolutions GmbH - Standort: Trier</title>'); htp.p (' <meta name="author" content="Sebastian Thommes">'); htp.p (' <meta name="copyright" content="Deutsche Post ITSolutions GmbH">'); htp.p (' </head>'); htp.p (''); htp.p (' <frameset rows="*" cols="15%,*" framespacing="0" frameborder="Yes" border="2">'); htp.p (' <!-- (Obere frame) -->'); htp.p (' <frame name="Left" src="'||pv_module_pfad||'Menue" scrolling="no">'); htp.p (''); htp.p (' <!-- (Mitlere frame) -->'); htp.p (' <frame name="Haupt" src="'||pv_module_pfad||'anzeigen" scrolling="no">'); htp.p (''); htp.p (' <noframes>'); htp.p (' Ihr Browser kann keine Frames darstellen!'); htp.p (' </noframes>'); htp.p ('</frameset>'); htp.p ('</html>'); END Startseite; PROCEDURE anzeigen IS n_azubinr number; v_name varchar2(20); v_vorname varchar2(20); v_strasse varchar2(20); v_ort varchar2(20); n_plz number(5); v_telpri varchar2(16); v_raumnr varchar2(5); v_telges varchar2(16); TYPE cur_type IS REF CURSOR; cur_lesen cur_type; BEGIN htp.p('<html>'); htp.p('<head>'); htp.p('<title>Auslesen</title>'); htp.p('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); htp.p('</head>'); htp.p('<body>'); htp.p('<table width="37%" border="1">'); htp.p(' <tr> '); htp.p(' <td width="27%"><strong>Azubinr</strong></td>'); htp.p(' <td width="34%"><strong>Name</strong></td>'); htp.p(' <td width="39%"><strong>Vorname</strong></td>'); htp.p(' <td width="39%"><strong>Strasse</strong></td>'); htp.p(' <td width="39%"><strong>Ort</strong></td>'); htp.p(' <td width="39%"><strong>PLZ</strong></td>'); htp.p(' <td width="39%"><strong>Telefon Privat</strong></td>'); htp.p(' <td width="39%"><strong>Raumnr</strong></td>'); htp.p(' <td width="39%"><strong>Telfon Geschäftlich</strong></td>'); htp.p(' <td width="39%"><strong>Loeschen</strong></td>'); htp.p(' </tr>'); OPEN cur_lesen FOR 'select azb_id,Name,Vorname,Strasse,Ort,Plz,Telpri,Raumnr,Telges from tb_telbuch' ; LOOP FETCH cur_lesen INTO n_azubinr,v_name,v_vorname,v_strasse,v_ort,n_plz,v_telpri,v_raumnr,v_telges; EXIT WHEN cur_lesen%notfound; htp.p(' <tr> '); htp.p(' <td>'||n_azubinr||'</td>'); htp.p(' <td>'||v_name||'</td>'); htp.p(' <td>'||v_vorname||'</td>'); htp.p(' <td>'||v_strasse||'</td>'); htp.p(' <td>'||v_ort||'</td>'); htp.p(' <td>'||n_plz||'</td>'); htp.p(' <td>'||v_telpri||'</td>'); htp.p(' <td>'||v_raumnr||'</td>'); htp.p(' <td>'||v_telges||'</td>'); htp.p(' <td><a href="'||pv_module_pfad||'loeschen?v_azubi_id='||n_azubinr||'"> L </a></td>'); htp.p(' </tr>'); END loop; htp.p('</table>'); htp.p('</body>'); htp.p('</html>'); END anzeigen; PROCEDURE eingeben IS BEGIN htp.p('<html>'); htp.p('<head>'); htp.p('<title>Erfassung</title>'); htp.p('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); htp.p('</head>'); htp.p('<body>'); htp.p('<form action="'||pv_module_pfad||'schreiben" method=get>'); htp.p('Name eingeben: <input name="Text_name" type="text" size="15" maxlength="20">'); htp.p('<br>'); htp.p('Vorname eingeben: <input name="Text_vorname" type="text" size="15" maxlength="20">'); htp.p('<br>'); htp.p('Straße eingeben: <input name="Text_straße" type="text" size="15" maxlength="20">'); htp.p('<br>'); htp.p('Ort eingeben: <input name="Text_ort" type="text" size="15" maxlength="20">'); htp.p('<br>'); htp.p('Plz eingeben: <input name="Nummer_plz" type="text" size="8" maxlength="5">'); htp.p('<br>'); htp.p('Tel. Privat eingeben: <input name="Text_telpri" type="text" size="15" maxlength="16">'); htp.p('<br>'); htp.p('Raumnr. eingeben: <input name="Text_raumnr" type="text" size="8" maxlength="5">'); htp.p('<br>'); htp.p('Tel. Geschaeftlich eingeben: <input name="Text_telges" type="text" size="15" maxlength="16">'); htp.p('<p>'); htp.p(' <input name="Save_button" type="submit" value="Speichern">'); htp.p('</p>'); htp.p('</form>'); htp.p('</body>'); htp.p('</html>'); END eingeben; PROCEDURE schreiben ( Text_name in varchar2, Text_vorname in varchar2, Text_straße in varchar2, Text_ort in varchar2, Nummer_plz in number, Text_telpri in varchar2, Text_raumnr in varchar2, Text_telges in varchar2, Save_button in varchar2 := 'x' ) IS BEGIN IF Save_button = 'Speichern' THEN insert into TB_TELBUCH (Azb_id,Name,Vorname,Strasse,Ort,Plz,Telpri,Raumnr,Telges) values (sq_azbid.nextval,Text_name,Text_vorname,Text_straße,Text_ort,Nummer_plz,Text_telpri,Text_raumnr,Text_telges); commit; htp.p('<html>'); htp.p('<head>'); htp.p('<title>Gespeichert!</title>'); htp.p('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); htp.p('</head>'); htp.p('<body>'); htp.p('Erfolgreich abgespeichert :-)'); htp.p('</br>'); htp.p('</body>'); htp.p('</html>'); ELSIF Save_button = 'x' THEN htp.p('<html>'); htp.p('<head>'); htp.p('<title>Fehler!</title>'); htp.p('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); htp.p('</head>'); htp.p('<body>'); htp.p('Zuerst Prozedur "eingeben" aufrufen!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'); htp.p('</body>'); htp.p('</html>'); END IF; eingeben; -- Prozeduraufruf zum aktualisieren END schreiben; PROCEDURE Menue IS BEGIN htp.p('<html>'); htp.p('<head>'); htp.p('<title>Menue</title>'); htp.p('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); htp.p('</head>'); htp.p('<body>'); htp.p('<center>'); htp.p('<br>'); htp.p('<br>'); htp.p('<br>'); htp.p('<br>'); htp.p('<a href="'||pv_module_pfad||'anzeigen" target="Haupt">Alle Daten anzeigen</a>'); htp.p('<br>'); htp.p('<br>'); htp.p('<a href="'||pv_module_pfad||'eingeben" target="Haupt">Azubi eintragen</a>'); htp.p('<br>'); htp.p('<br>'); htp.p('<a href="'||pv_module_pfad||'anzeigen" target="Haupt">Ändern</a>'); htp.p('<br>'); htp.p('<br>'); htp.p('<a href="'||pv_module_pfad||'eingeben" target="Haupt">Löschen</a>'); htp.p('</center>'); htp.p('</body>'); htp.p('</html>'); END Menue; PROCEDURE loeschen ( v_azubi_id number ) AS BEGIN delete from SCOTT.tb_telbuch where azb_id = v_azubi_id; commit; htp.p ('<html>'); htp.p ('<head>'); htp.p ('<title>Geloescht</title>'); htp.p ('<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'); htp.p ('</head>'); htp.p ('<body>'); htp.p (' <b><font color="#FF3333">Datensatz des Azubis wurde gelöscht!</font></b> '); htp.p ('</div>'); htp.p ('</body>'); htp.p ('</html>'); END loeschen; gruss eat grass was is das?? sind das normale stored prozedures? hab ich ja noch nie gesehen sowas. kannst ma ein bisschen erläutern was das is? ist das nur oracle spezifisch? gruss kills Zitieren
DanielH Geschrieben 14. Juli 2003 Geschrieben 14. Juli 2003 @eatthis Hast du schonmal mit JavaScript probiert ? Also nach htp.p('Erfolgreich abgespeichert :-)'); noch ein htp.p('<script language="JavaScript">document.Haupt.location.reload()</script>'); oder aber htp.p('<script language="JavaScript">document.Haupt.location.href="'||pv_module_pfad||'anzeigen"</script>'); Wobei ich mir hierbei nicht sicher bin, das er auch wirklich Aktualisiert, da die Seite ja im Prinzip schon da ist. MfG Zitieren
Eatthis Geschrieben 15. Juli 2003 Autor Geschrieben 15. Juli 2003 Original geschrieben von DanielH @eatthis Hast du schonmal mit JavaScript probiert ? Also nach htp.p('Erfolgreich abgespeichert :-)'); noch ein htp.p('<script language="JavaScript">document.Haupt.location.reload()</script>'); oder aber htp.p('<script language="JavaScript">document.Haupt.location.href="'||pv_module_pfad||'anzeigen"</script>'); Wobei ich mir hierbei nicht sicher bin, das er auch wirklich Aktualisiert, da die Seite ja im Prinzip schon da ist. MfG Ja, Thx , versuch ich mal so. Gruss Eatthis Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.