pellsäterMedlem sedan aug. 2000533 inlägg
Jag får inte i smaker och storlekar i min DB
Jag har i sidan innan ett textfält där man skriver in olika smakid och storleksid för en produkt och detta ska in i den tabell som heter rblRel.....
<%
tblsmak = Split(Request.form("tblsmak"),",")
For x = 0 To UBound(tblsmak)
Response.Write tblsmak(x)
Next
tblstorlek = Split(Request.form("tblstorlek"),",")
For x1 = 0 To UBound(tblstorlek)
Response.Write tblstorlek(x1)
Next
%>
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=xxx"
sql2 = "Insert Into tblrel (smakid,storleksid,prodid) Values (" & Trim(tblsmak(x)) & "," & Trim(tblStorlek(x1)) & "," & prodid & ")"
conn.Execute(sql2)
conn.close
%>
Detta felet får jag
Microsoft VBScript runtime error '800a0009'
Subscript out of range: 'x'
/admin/admin_lagg_till_ok.asp, line 63
VideMedlem sedan dec. 19996 094 inlägg
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=xxx"
for x = 0 to ubound(tblsmak)
sql2 = "Insert Into tblrel (smakid,storleksid,prodid) Values (" & Trim(tblsmak(x)) & "," & Trim(tblStorlek(x)) & "," & prodid & ")"
conn.Execute(sql2)
next
conn.close
Förutsatt att det är lika många element i båda arrayerna.
pellsäterMedlem sedan aug. 2000533 inlägg
nej det kan var olika många smaker och olika många storlekar
och var får du in storlekarna?
VideMedlem sedan dec. 19996 094 inlägg
Hur kan du då ha dom på samma post?
Om det är olika antal så skulle jag ha två olika tabeller.
pellsäterMedlem sedan aug. 2000533 inlägg
va?
Jag har en tabell med storlekar det är väl 6st oliak sedan en med smaker det är 12st.... men sedan har jag en tabell som bara innehåller relationer och det är i den jag vill ha in detta
så här ser DB ut
PRODUKTER
prodID
vara
smak (JA)
TBLSMAKER
smakID
smak
TBLSTORLEKAR
storleksID
storlek
TBLREL
prodID
smakID
storleksID
VideMedlem sedan dec. 19996 094 inlägg
Okej, så kommer varje produkt att ha ett smakID och ett storleksID?
pellsäterMedlem sedan aug. 2000533 inlägg
inte nödvändigtvis... men jag gjorde om det nu så jag har en relataionstabell för smakerna och en för storlekarna
s
pellsäterMedlem sedan aug. 2000533 inlägg
Lyckades få in både smaker och storlekar men när jag vill kunna ta bort en smak från en produkt så funkar det inte med denna update. nån som ser varför
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=xxx"
sql1 = "Select prodid from produkter where item = '"& item &"' and prodnummer = "& prodnummer
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open sql1, conn
response.write prodid
%> <%
pprodid = rs("prodid")
%> <%
rs.close
conn.close%>
<%
tblsmak = Split(Request.form("tblsmak"),",")
response.write tblsmak
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "xxx"
for x = 0 to ubound(tblsmak)
sql2 = "Update tblrel (smakid) Values (" & Trim(tblsmak(x)) & ") where prodid = "&pprodid
conn.Execute(sql2)
next
conn.close
%>
pellsäterMedlem sedan aug. 2000533 inlägg
ändarade SQL-satsen till
sql2 = "Update tblrel Set smakid = " & Trim(tblsmak(x)) & " where prodid = "&pprodid
men det ändras inte ändå
pellsäterMedlem sedan aug. 2000533 inlägg
ingen som nån idé varför?
LukaspojkenMedlem sedan maj 20011 318 inlägg
Vad får du ut för svar om du bara skriver ut, response.write UBound(tblsmak)
Kanske ska du kolla om tblsmak är en array först innan du loopar IF isArray(tblsmak) THEN
For....
pellsäterMedlem sedan aug. 2000533 inlägg
LukaspojkenMedlem sedan maj 20011 318 inlägg
Då är tblsmak ingen array...därför måste du köra IF isArray(tblsmak) THEN
I annat fall får du leva med felmeddelandet :)
pellsäterMedlem sedan aug. 2000533 inlägg
La in denna kod men det uppdaterar inte db ändå??
<%
tblsmak = Split(Request.form("tblsmak"),",")
response.write ubound(tblsmak)
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DSN=xxxx"
IF isArray(tblsmak) THEN
for x = 0 to ubound(tblsmak)
sql2 = "Update tblrel Set smakid = " & Trim(tblsmak(x)) & " where prodid = '"&pprodid&"'"
conn.Execute(sql2)
next
conn.close
end if
%>
VideMedlem sedan dec. 19996 094 inlägg
Vart för du prodid ifrån och är det verkligen ett textfält?
pellsäterMedlem sedan aug. 2000533 inlägg
PProdid får jag från en annan koppling till produktdb.... nej det är ignet texxtfält men jag provade att skriva
where prodid = "&pprodid
och det gör ingen skillnad men det ska väl stå som det ovan här väl?
och skriver jag ut pprodid så stämmer det
LukaspojkenMedlem sedan maj 20011 318 inlägg
Vad får du för värde om du skriver
response.write Request.form("tblsmak")
samt
response.write prodid
pellsäterMedlem sedan aug. 2000533 inlägg
jag får ingenting... och jag fattar inte varför.. i sidan innan har jag detta
<input type="text" name="tblSmak" size="3" class="thisform">
pellsäterMedlem sedan aug. 2000533 inlägg
hittade felet.... jag hade inte lagt över rätt version av sidan.. men nu blir problemet att om jag har haft 5 olika smaker tidigare och jag bara ska ha en smak så ersätter den alla de tidigare 5 med den nya smaken 5 ggr
tex.
tidigare har produkten haft jordgubb och choklad som smak
Nu ska den bara ha jordgubb då läggs jordgubb i 2 ggr
eller
tidigare har produkten haft jordgubb som smak och nu ska den ha choklad, jorgubb och vanilj.. då läggs bara vanilj in
RelID ProdID SmakID
106 199 99
107 199 99
108 199 99
109 199 99
så här blir deti tblRel om jag lägger in smakid 99 och produkten tidare haft 4 smaker... lägger jag in 99 vill jag bara ha med den en gång ju....
och lägger jag in smakid 1,2,3 så vill jag bara ha dessa tre med i DB
LukaspojkenMedlem sedan maj 20011 318 inlägg
Detta beror troligtvis på Where-satsen där du bara använt prodid.
Ett sätt du skulle kunna lösa detta på är att du först kör
IF isArray(tblsmak) THEN
sql2 = "Delete tblrel Where prodid = " & prodid
conn.Execute(sql2)
for x = 0 to ubound(tblsmak)
sql2 = "INSERT INTO tblrel (smakid, prodid) Values (" & Trim(tblsmak(x)) & ", prodid)
conn.Execute(sql2)
next
End if