R Runken Medlem sedan apr. 2003 36 inlägg Frågan 22 maj 2003 09:18 #1 Tjena!
När man kommer in på vår produktsida så skall alla produkter hämtas från en databas och läggas i en tabell. Alltså varje produkt skall få en egen tabell. Vi vill alltså hela yttre tabellen med dess innehåll skall loopas så många gånger som det finns varor.
Vår kod:
<table width="150" border="0">
<tr>
<td><table width="150" border="0">
<tr><td>
<%
strsqlbild = "SELECT Bilder FROM Product where Bilder != 'NULL'"
set recset = conn.Execute(strsqlbild)
If NOT recset.EOF Then arrRecset = recset.GetRows()
recset.Close : Set recset = Nothing
If IsArray(arrRecset) Then
For i = 0 To UBound(arrRecset, 2)%>
<p align="center"><strong>Lampa</strong></p></td></tr>
<tr>
<td>
<% sokvag = arrRecset(0,i)
Response.Write"<img src= """& sokvag &""">"
Next
End if
%>
</td> <td>
<form action="Produkter.asp" method="post" name="produkt1">
<table width="150" border="0">
<tr>
<td height="26" colspan="2">Storlek</td>
<td>
<%
strSQL = "SELECT storlekfarg FROM product WHERE Produktnamn = 'lampa1'"
Set objRS = conn.Execute(strSQL)
If NOT objRS.EOF Then arrstorlekfarg = objRS.GetRows()
objRS.Close : Set objRS = Nothing
If IsArray(arrstorlekfarg) Then
Response.Write "<select name=""strl1""> "
For j = 0 To UBound(arrstorlekfarg, 2)
strStorlek = arrstorlekfarg(0,j)
Response.Write "<option value="""& strStorlek &""">"& strStorlek &"</option>"
Next
Response.Write "</select>"
End If
%>
</td>
</tr>
</table>
</form>
<%conn.Close
Set conn = Nothing%>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</tr>
</table>
</div>
Mvh
Glöm ej att använda kod-taggen!
<table width="150" border="0">
<tr>
<td><table width="150" border="0">
<tr><td>
<%
strsqlbild = "SELECT Bilder FROM Product where Bilder != 'NULL'"
set recset = conn.Execute(strsqlbild)
If NOT recset.EOF Then arrRecset = recset.GetRows()
recset.Close : Set recset = Nothing
If IsArray(arrRecset) Then
For i = 0 To UBound(arrRecset, 2)%>
<p align="center"><strong>Lampa</strong></p></td></tr>
<tr>
<td>
<% sokvag = arrRecset(0,i)
Response.Write"<img src= """& sokvag &""">"
Next
End if
%>
</td> <td>
<form action="Produkter.asp" method="post" name="produkt1">
<table width="150" border="0">
<tr>
<td height="26" colspan="2">Storlek</td>
<td>
<%
strSQL = "SELECT storlekfarg FROM product WHERE Produktnamn = 'lampa1'"
Set objRS = conn.Execute(strSQL)
If NOT objRS.EOF Then arrstorlekfarg = objRS.GetRows()
objRS.Close : Set objRS = Nothing
If IsArray(arrstorlekfarg) Then
Response.Write "<select name=""strl1""> "
For j = 0 To UBound(arrstorlekfarg, 2)
strStorlek = arrstorlekfarg(0,j)
Response.Write "<option value="""& strStorlek &""">"& strStorlek &"</option>"
Next
Response.Write "</select>"
End If
%>
</td>
</tr>
</table>
</form>
<%conn.Close
Set conn = Nothing%>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</tr>
</table>
</div>
Återkommer.
Nåt sånt här kanske:
<table width="150" border="0">
<tr>
<td><table width="150" border="0">
<tr><td>
<%
Dim Cn, Rs, arrRecs, i, p(1)
Set Cn = Server.CreateObject("ADODB.Connection")
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db_.mdb")
Set Rs = Cn.Execute(""SELECT Bilder,storlekfarg FROM Product where Bilder != 'NULL'" AND Produktnamn = 'lampa1')
If Rs.EOF Then
Rs.Close : Set Rs = Nothing
Cn.Close : Set Cn = Nothing
Response.Write "Inga poster än.."
Else arrRecs = Rs.GetRows()
Rs.Close : Set Rs = Nothing
Cn.Close : Set Cn = Nothing
For i = 0 To UBound(arrRecs,2)
Response.Write "<p align=""center""><strong>Lampa</strong></p></td></tr>
<tr><td>"
p(0) = arrRecs(0,i)
p(1) = arrRecs(1,i)
Response.Write"<img src= """& sokvag &"""></td><td>
<form action=""Produkter.asp"" method=""post"" name=""produkt1"">" & _
"<table width=""150"" border=""0"">
<tr>
<td height=""26"" colspan=""2"">Storlek</td>
<td>" & _
"<select name=""strl1""><option value="""& p(1) &""">"& p(1) &"</option></select>" & _
"</td>
</tr>
</table>
</form>"
Next
End If
%>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</tr>
</table>
</div>
Phu! Hoppas att det fungerar nu.
R Runken Medlem sedan apr. 2003 36 inlägg Tack så mycket för det! Ska testa..
R Runken Medlem sedan apr. 2003 36 inlägg Hej igen!
Får det inte att fungera riktigt, säkert mycket pga att vi inte riktigt förstår vad som händer. Men får i a f felmeddelandet:
Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0409)
Oavslutad strängkonstant
/TMPcb4mpfaj4d.asp, line 111, column 74
Response.Write "<p align=""center""><strong>Lampa 1</strong></p></td></tr>
-------------------------------------------------------------------------^
alltså när bara lampa ska skrivas ut. Provade att ta bort den raden men fick då samma fel på
Response.Write"<img src= """& sokvag &"""></td><td>
--------------------------------------------------^
raden. Vad gör vi för fel? Undrar också vad:
p(0) = arrRecs(0,i)
p(1) = arrRecs(1,i)
gör? Är p(0) index 0?
Mycket tacksamma för svar
Mvh
crisse6 Medlem sedan dec. 2000 2 526 inlägg lagg till " i slutet pa varje ;)
alltsa sa har:
Response.Write "<p align=""center""><strong>Lampa 1</strong></p></td></tr> "
R Runken Medlem sedan apr. 2003 36 inlägg Tack för svaret men tyvärr hade vi skrivit ut situationstecknen, det var bara att det inte stod med i felmeddelandet.
Mvh
@nders Medlem sedan juni 2000 32 967 inlägg Hur ser aktuell kod ut nu då?
R Runken Medlem sedan apr. 2003 36 inlägg Aktuell kod:
<table width="150" border="0">
<tr>
<td><table width="150" border="0">
<tr><td>
<%
Dim conn, Rs, arrRecs, i, p(1)
Set conn = createobject("ADODB.Connection")
conn.open = "DRIVER={MySQL ODBC 3.51 Driver};"_
& "SERVER=localhost;"_
& "DATABASE=CARO1;"_
& "UID=root;PWD=; OPTION=16384;"
Set Rs = conn.Execute("SELECT Bilder,storlekfarg FROM Product where Bilder != 'NULL' AND Produktnamn = 'lampa1'")
If Rs.EOF Then
Rs.Close : Set Rs = Nothing
conn.Close : Set conn = Nothing
Response.Write "Inga poster än.."
Else arrRecs = Rs.GetRows()
Rs.Close : Set Rs = Nothing
conn.Close : Set conn = Nothing
For i = 0 To UBound(arrRecs,2)
Response.Write"<tr><td><p align=""center""><strong>Lampa 1</strong></p></td></tr>"
p(0) = arrRecs(0,i)
p(1) = arrRecs(1,i)
Response.Write"<img src= """& sokvag &"""></td><td>
<form action=""Produkter.asp"" method=""post"" name=""produkt1"">" & _
"<table width=""150"" border=""0"">
<tr>
<td height=""26"" colspan=""2"">Storlek</td>
<td>" & _
"<select name=""strl1""><option value="""& p(1) &""">"& p(1) &"</option></select>" & _
"</td>
</tr>
</table>
</form>"
Next
End If
%>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</tr>
</table>
</div>
Mvh
crisse6 Medlem sedan dec. 2000 2 526 inlägg detta da?:
<table width="150" border="0">
<tr>
<td><table width="150" border="0">
<tr><td>
<%
Dim conn, Rs, arrRecs, i, p(1)
Set conn = createobject("ADODB.Connection")
conn.open = "DRIVER={MySQL ODBC 3.51 Driver};"_
& "SERVER=localhost;"_
& "DATABASE=CARO1;"_
& "UID=root;PWD=; OPTION=16384;"
Set Rs = conn.Execute("SELECT Bilder,storlekfarg FROM Product where Bilder != 'NULL' AND Produktnamn = 'lampa1'")
If Rs.EOF Then
Rs.Close : Set Rs = Nothing
conn.Close : Set conn = Nothing
Response.Write "Inga poster än.."
Else arrRecs = Rs.GetRows()
Rs.Close : Set Rs = Nothing
conn.Close : Set conn = Nothing
For i = 0 To UBound(arrRecs,2)
Response.Write"<tr><td><p align=""center""><strong>Lampa 1</strong></p></td></tr>"
p(0) = arrRecs(0,i)
p(1) = arrRecs(1,i)
Response.Write "<img src= """& sokvag &"""></td><td>"&_
"<form action=""Produkter.asp"" method=""post"" name=""produkt1"">" & _
"<table width=""150"" border=""0"">"&_
"<tr><td height=""26"" colspan=""2"">Storlek</td>"&_
"<td>"&_
"<select name=""strl1""><option value="""& p(1) &""">"& p(1) &"</option></select>"&_
"</td></tr></table></form>"
Next
End If
%>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</tr>
</table>
</div>
psst.... anvand kod-taggarna nasta gang ;)
O OveRRidE Medlem sedan feb. 2001 12 078 inlägg Runken: Nu har jag redigerat tre inlägg i den här tråden. Börja använda kod-taggarna nu.
Nåväl, testa det här:
<table width="150" border="0">
<tr>
<td><table width="150" border="0">
<tr><td>
<%
Dim conn, Rs, arrRecs, i, p(1)
Set conn = createobject("ADODB.Connection")
conn.open = "DRIVER={MySQL ODBC 3.51 Driver};"_
& "SERVER=localhost;"_
& "DATABASE=CARO1;"_
& "UID=root;PWD=; OPTION=16384;"
Set Rs = conn.Execute("SELECT Bilder,storlekfarg FROM Product where Bilder != 'NULL' AND Produktnamn = 'lampa1'")
If Rs.EOF Then
Rs.Close : Set Rs = Nothing
conn.Close : Set conn = Nothing
Response.Write "Inga poster än.."
Else arrRecs = Rs.GetRows()
Rs.Close : Set Rs = Nothing
conn.Close : Set conn = Nothing
For i = 0 To UBound(arrRecs,2)
Response.Write"<tr><td><p align=""center""><strong>Lampa 1</strong></p></td></tr>"
p(0) = arrRecs(0,i)
p(1) = arrRecs(1,i)
Response.Write "<img src= """& sokvag &"""></td><td><form action=""Produkter.asp"" method=""post"" name=""produkt1"">" & _
"<table width=""150"" border=""0"">" & _
"<tr>" & _
"<td height=""26"" colspan=""2"">Storlek</td>" & _
"<td>" & _
"<select name=""strl1""><option value="""& p(1) &""">" & p(1) & "</option></select>" & _
"</td>" & _
"</tr></table></form>"
Next
End If
%>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</tr>
</table>
</div>
R Runken Medlem sedan apr. 2003 36 inlägg Sorry OveRRidE, är inte så haj på ASP att jag ser vad felet är på en gång.
Tack så mycket för hjälpen Chris, nu kan jag äntligen harva vidare...
Mvh
O OveRRidE Medlem sedan feb. 2001 12 078 inlägg
Runken skrev:
Sorry OveRRidE, är inte så haj på ASP att jag ser vad felet är på en gång.
Nu förstår jag inte alls vad du menar. :o
Jag menade att du skall posta din kod i wF:s kod-taggar, [ kod ] och [ /kod ].
R Runken Medlem sedan apr. 2003 36 inlägg Oj, f'låt.. Visste jag inte ens om.. Har inte varit tillräckligt uppmärksam. Nu lär jag aldrig glömma. Hoppas du förstår situationen..:-)
Mvh
O OveRRidE Medlem sedan feb. 2001 12 078 inlägg
Runken skrev:
Oj, f'låt.. Visste jag inte ens om.. Har inte varit tillräckligt uppmärksam. Nu lär jag aldrig glömma. Hoppas du förstår situationen..:-)
Så farligt är det inte. ;)
Det är bättre för alla ifall kod-taggarna används när de behövs, dock. Läs gärna igenom Riktlinjerna för ASP-, VBScript-forumet , där står det mesta.