Avatar billede taae Juniormester
29. november 2005 - 21:22 Der er 3 kommentarer og
1 løsning

Hvad er fejlen i koden her ?

I nedenstående kode, går den ikke ind til næste Select hvor modellerne står. Når jeg har valgt et mærke går den over til en af jsp siderne som står i form linien .....

<%@ page import="java.sql.*" %>
<%@ page import="ConnectDb.ConnectToDatabase"%>
<%
String carbrand = request.getParameter("carbrand");
ConnectToDatabase condb = new ConnectToDatabase();
condb.stmt = condb.con.createStatement();
/*onchange="car.submit();"*/
%>
<form name="car" action="<%=(carbrand==null)?"select_serverside.jsp":"Testcar.jsp"%>">
Mærke:
<select name="brand" onselect="car.submit();"> 
<option>vælg mærke</option>
<%
ResultSet rs1 = condb.stmt.executeQuery("SELECT DISTINCT carbrand FROM carmodel");
while(rs1.next()) {
String col = rs1.getString(1);
%>
<option<%=(carbrand!=null&&col.equals(carbrand))?" SELECTED":""%>><%=col%></option>
<%
}
rs1.close();
%>
</select>
<br/>
Model:
<select name="model" >
<option>vælg model </option>
<%
ResultSet rs2 = condb.stmt.executeQuery("SELECT DISTINCT name FROM carmodel" + ((carbrand!=null)?(" WHERE carbrand='"+carbrand+"'"):""));
while(rs2.next()) {
%>
<option><%=rs2.getString(1)%></option>
<%
}
rs2.close();
%>
</select>
<br/>
<input type="SUBMIT" value="Vis"/>
</form>
<%
condb.stmt.close();
condb.con.close();
%>
Avatar billede taae Juniormester
29. november 2005 - 22:42 #1
Det der vises i koden er at der er 2 combo boxe. Når man i den første combo box vælger ex et bilmærke, så skal dens modeller hentes fra databasen og lægges ind i den anden combo box, hvilket den ikke gør.

I databasen er de oprettet således :

både carbrand og name er Primary keys

carbrand name
Audi      A3
Audi      A4
Audi      A6
BMW      3Serie
BMW      5Serie
BMW      7Serie

osv.....

så det vil sige at når jeg vælger Audi så skal dens 3 modeller automatisk dukke op i den anden combox og ikke alle modeller som den gør nu
Avatar billede cayman Nybegynder
30. november 2005 - 08:34 #2
Hej taae, Jeg har altid brugt "onchange" har ingen erfaringer med "onselect", selvom det muligvis er godt nok. Har du prøvet onchange?
Avatar billede cayman Nybegynder
30. november 2005 - 08:35 #3
Har du prøvet at "hardkode" et brand ind i din nederste SQL for at se om noget kommer frem?
Avatar billede taae Juniormester
12. december 2005 - 23:48 #4
.
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