Udtræk fra DB
Hejsa...Jeg har et lille problem med at hive noget data ud af min database på den rigtige måde...
Jeg har 3 tabeller:
1. pgproducent
Indeholder alle vores producenter. fx. Nokia, Compaq osv...
2. pgprodukt
Indeholder alle vores produkter. fx. 6610, T40 osv... Under denne tabel er en celle som hedder "producentid" så man ud fra det ID kan se producenten af produktet.
3. pgfirma
Indeholder priser på produkterne... Og herunder er der en celle som hedder "produktid" så man kan se hvilket produkt prisen passer til... Her under er der flere priser på hvert produkt, men kun den laveste pris skal vises på listen.
Det skal vises på en lang liste som skal se sådan ud:
Nokia
6610 - 1299,00
6810 - 2587,00
7810 - Ingen pris
Compaq
Test 1 - 9995,75
Test 2 - Ingen pris
Test 3 - 10255,95
Altså først producent og derefter alle produkterne, så næste producent og alle produkterne osv... Men dem som har "Ingen pris" skal dog ikke vises.
Vigtigt !
Under hver producent skal produkterne stå i alfabetisk orden ;)
Her er mit forslag til systemmet. Det virker bare ikke helt.
http://bodykits.dk/testmappe/test2.asp
Min ASP kode:
<%
producentid = "0"
sogord = ""
indexid = "6"
katid = "37"
if producentid <> "0" then
strSQL = "SELECT * FROM pgprodukt WHERE producentid = "& producentid &" AND katid = "& katid &" GROUP by producentid ORDER BY produkt"
else
strSQL = "SELECT * FROM pgprodukt WHERE katid = "& katid &" GROUP by producentid ORDER BY produkt"
end if
set rs = Conn.execute(strSQL)
if rs.EOF then
Response.write "<b><font size='1' face='Verdana' color='red'>Ingen produkter</font></b>"
else
Do Until rs.EOF
strProduktId = RS("id")
strProduktProducentid = RS("producentid")
strSQL2 = "SELECT * FROM pgproducent WHERE id = "& strProduktProducentid &" ORDER BY firmanavn"
set rs2 = Conn.execute(strSQL2)
if rs2.EOF then
Response.write "<b><font size='1' face='Verdana' color='red'>Ingen produkter</font></b>"
else
strProducentId = RS2("id")
strProducentFirmanavn = RS2("firmanavn")
end if
%>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#BBC7CE" width="540" id="AutoNumber2">
<tr>
<td width="540" colspan="4"><b><font face="Verdana" size="2"><%=strProducentFirmanavn%></font></b></td>
</tr>
<tr>
<td width="146" bgcolor="#4A525A"><b>
<font color="#FFFFFF" size="1" face="Verdana">Model</font></b></td>
<td width="253" bgcolor="#4A525A"><b>
<font face="Verdana" size="1" color="#FFFFFF">Information</font></b></td>
<td width="89" bgcolor="#4A525A">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">Pris</font></b></td>
<td width="52" bgcolor="#4A525A">
<p align="center"><b><font face="Verdana" size="1" color="#FFFFFF">Vis</font></b></td>
</tr>
<%
strSQL3 = "SELECT * FROM pgprodukt WHERE katid = "& katid &" AND producentid = "& strProducentId &" ORDER BY produkt"
set rs3 = Conn.execute(strSQL3)
if rs3.EOF then
Response.write "<b><font size='1' face='Verdana' color='red'>Ingen produkter</font></b>"
else
Do Until rs3.EOF
strProduktId = RS3("id")
strProduktProducentid = RS3("producentid")
strProduktProdukt = RS3("produkt")
strProduktBeskrivelse = RS3("beskrivelse")
strProduktBilid = RS3("bilid")
strProdukttommer = RS3("tommer")
strProdukthulafstand = RS3("hulafstand")
strSQL4 = "SELECT * FROM pgfirma WHERE produktid = "& strProduktId &" AND godkendt = 'True' ORDER BY pris ASC;"
set rs4 = Conn.execute(strSQL4)
if rs4.EOF then
strFirmaPris = ""
else
strFirmaPris = RS4("pris")
rs4.close
end if
If blnBGColor = True Then
strBGColor = "#DBDBDB"
blnBGColor = False
Else
strBGColor = "#F1F1F1"
blnBGColor = True
End If
strSQL5 = "SELECT * FROM pgfirma WHERE produktid = " & strProduktId
set rs5 = Conn.execute(strSQL5)
if rs5.EOF then
strpgfirmaPris = "Ingen pris"
else
strpgfirmaPris = RS5("pris")
rs5.close
end if
%>
<tr>
<td width="146" bgcolor="<%=strBGColor%>" style="border-right-style: solid; border-right-width: 1"><A HREF="prisguide-produkt-vis.asp?indexid=<%=strIndexId%>&katid=<%=katid%>&produktid=<%=strProduktId%>"><font face="Verdana" size="1"><%=strProduktProdukt%></font></a></td>
<td width="253" bgcolor="<%=strBGColor%>" style="border-right-style: solid; border-right-width: 1"></td>
<td width="89" bgcolor="<%=strBGColor%>" style="border-right-style: solid; border-right-width: 1"><p align="right"><font face="Verdana" size="1"><%=strpgfirmaPris%><font></td>
<td width="52" bgcolor="<%=strBGColor%>"></td>
</tr>
<%
RS3.MoveNext
Loop
blnBGColor = False
end if
Response.Write "</table><br>"
blnBGColor = False
RS.MoveNext
Loop
end if
%>
