Avatar billede flar74 Nybegynder
09. marts 2005 - 12:53 Der er 11 kommentarer

ID fra database, skal vise info på browser/side

Hej derude. ja jeg ved jeg spørger en del. jeg sidder her med en del bøger omkring java og jsp for at lære det. Håber i bærer over.

Men jeg sidder med spg om hvordan jeg kan hente data fra DB og så vise dem på en side. Umiddelbart lyder det jo ikke svært, men jeg er i tvivl om det er request.getparameter jeg skal bruge til følgende kode ?

<%!
public void VisBoligData(JspWriter out, java.util.Date Dato, String Kvm, String Overskrift, String Tlf, String Mail) throws IOException{
popup = "Select * from boligsoger_data where ID =" + request.getparameter ("?");
SimpleDateFormat df = new SimpleDateFormat("dd. MMM yyyy");   
out.println ("<table border=0 width=780>");
out.println ("<tr><td width=90 bgcolor='#99ccff'>" + df.format(Dato) + "</td>");
out.println ("<td width=90 align=center bgcolor='#99ccff'>" + Kvm + "</td>");
out.println ("<td width=275 bgcolor='#99ccff'>" + Overskrift + "</td>");
out.println ("<td width=65 bgcolor='#99ccff'>" + Tlf + "</td>");
out.println ("<td width=220 bgcolor='#99ccff'>" + Mail + "</td>");
out.println ("<td width=40 bgcolor='#99ccff'><b><a href=""window.open ('popup');"">Se&nbsp;&raquo; </a></b></td>");
out.println ("</tr></table>");
    }
%>

Hvordan skal jeg via et ID få fat i den af brugeren valgte data fra DB ?

Håber nogen kan hjælpe!

Takker

Flar74
Avatar billede arne_v Ekspert
09. marts 2005 - 13:02 #1
Jeg kan ikke rigtigt se noget database kode !?

Hvis det her er noget kode som køres efter en form submit så vil
request.getParameter("id") indeholder værdien af feltet id i formen.
Avatar billede arne_v Ekspert
09. marts 2005 - 13:03 #2
Jeg lavede engang dette eksempel:

<%@ page import="java.sql.*" %>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:TestMSAccess");
Statement stmt = con.createStatement();
if(request.getMethod().equals("POST")) {
    int F1 = Integer.parseInt(request.getParameter("F1"));
    String F2 = request.getParameter("F2");
    stmt.executeUpdate("INSERT INTO T1 VALUES (" + F1 + ",'" + F2 + "')");
}
%>
<!doctype html public "-//w3c/dtd HTML 4.01 Transitional//en">
<html>
<head>
<title>T1</title>
</head>
<body>
<h1>T1</h1>
<h2>Show data</h2>
<table border>
<%
ResultSet rs = stmt.executeQuery("SELECT * FROM T1");
while(rs.next()) {
%>
<tr>
<td><%=rs.getInt("F1")%></td>
<td><%=rs.getString("F2")%></td>
</tr>
<%
}
%>
</table>
<h2>Add data</h2>
<form method="post" action="db.jsp">
F1:<input type="text" name="F1" size="10">
<br>
F2:<input type="text" name="F2" size="20">
<br>
<input type="submit" value="Add">
</form>
</body>
</html>
Avatar billede arne_v Ekspert
09. marts 2005 - 13:04 #3
Det er ikke specielt kønt JSP, men det skulle gerne vise database tilgangen
og forskellen på første get og en submit af en ny række.
Avatar billede flar74 Nybegynder
09. marts 2005 - 13:12 #4
popup = "Select * from boligsoger_data where ID =" + request.getparameter ("?");

det  database koden. stod også i det første eksempel. men meningen er at jeg har en linien med data. og i det sidste felt er der et form for link. hver gang man klikker på det link, skal der poppe et popupvindue op med indholdet fra databasen. det indhold er f.eks en overskrift og resten af en boligannonce.
Avatar billede flar74 Nybegynder
09. marts 2005 - 13:14 #5
String popup = "Select * from boligsoger_data where ID =" + request.getparameter ("?");
Avatar billede flar74 Nybegynder
09. marts 2005 - 13:14 #6
det er en slags vis data i popup-vindue
Avatar billede arne_v Ekspert
09. marts 2005 - 13:29 #7
Men så skal du vel have lavet noget kode som konverterer fra en String med SQL
til en String med resultatet af den query
Avatar billede flar74 Nybegynder
09. marts 2005 - 13:43 #8
jeps.. har ikke sendt det hele med men sender det om 5 min
Avatar billede flar74 Nybegynder
09. marts 2005 - 14:59 #9
Nu har jeg prøvet at lave dette:

<%!
public void VisPopupData(JspWriter out, String Overskrift, String Annoncetekst ) throws IOException{
            Connection connection = new ConnectionManager().getConnection();
            Statement stmt = connection.createStatement ();
            ResultSet rs;
            rs = stmt.executeQuery("SELECT * FROM boligsoger_data where id = ?");
            while (rs.next()){
                out.println  ("<table border='1' width='250'>");
                out.println  ("<tr><td>");
                    rs.getString("overskrift"),
                out.println ("</td></tr>");             
                out.println ("<tr><td>");
                    rs.getString("Annoncetekst"));
                out.println  ("</td></tr>");
                out.println  ("</table>");
                }
            rs.close();
    }
%>

det som jeg mente var at:

----------------------------------------------------
navn  -    adresse    - postnr  -  se annonce  -
----------------------------------------------------
tove  -    lillevehj 3 - 5700    -  klik her      -
----------------------------------------------------
ved klik på "klik her" skulle man hente data fra DB, men de data skulle være påmyntet et ID. men hvordan faen henter man de rigtige data i den rigtige række?
Avatar billede flar74 Nybegynder
09. marts 2005 - 15:00 #10
er det ved at:

rs = stmt.executeQuery("SELECT * FROM boligsoger_data where id = request.getparameter ('id')");
Avatar billede flar74 Nybegynder
09. marts 2005 - 15:02 #11
hmmm må sgu læse mere i mine bøger..;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester