Redigerings probbs

ASP

14 svar · 242 visningar · startad av Steveking

Medlem sedan aug. 2001150 inlägg
Trådstart#1

Tjena.
Ja har en sida me ca 450 filmer som jag listar upp.

Nu är det så att jag vill lägga alla i en kategori. Tex Action,extreem,drama osv. Då har jag gjort så att jag har lagt en dropdown meny breve varje film.
Alltså 450 dropdowns blir det.
Så det går snabbare att lägga in alla i en kategori.

Sen vill jag ju att den skall lägga in varje vald kategori till varje film.

Men hur gör jag så den förstår vilken film den ska lägga in på?

Kan ju inte köra en

ppdatera = "SELECT * FROM list WHERE ID = " & Request.Form("ad") & " "

Eftersom jag skall uppdatera alla sammtidigt?

Medlem sedan aug. 2001150 inlägg
#2

Ni förstår nog bättre när ni kollar här: http://www.uppdaterad.com/hellfire/hek/index1.asp?ordning=Filmer

Medlem sedan aug. 2001150 inlägg
#3

Jag har testat med detta

index.asp


        <select id="myselect@<%=ID%>" name="myselect@<%=ID%>">
          <option value="Action">Action</option>
          <option value="Extreem">xtrem</option>
          <option value="Drama">Dram</option>
          <option selected>V&auml;lj kategori</option>
        </select>

Redigera.asp

<%	DBPath = "DBQ=" & Server.MapPath("hekbeta1.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

for each item in request.form
If left(item,7) = "select@" Then
SQL = SQL & ("UPDATE tbl_list ")
SQL = SQL & ("Set kategori = " & Request(item) & " ")
SQL = SQL & ("Where ID = " & Right(item,Len(Item)-7) & "; " & vbCrLf)
End If
next
conn.execute(sql)
%>

Men får felet

Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'

Command text was not set for the command object.

On line 16

och line 16 är conn.execute(sql)

Medlem sedan okt. 20005 273 inlägg
#4

Skriv ut SQL-satsen med response.Write

<% DBPath = "DBQ=" & Server.MapPath("hekbeta1.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
for each item in request.form
If left(item,7) = "select@" Then
SQL = SQL & ("UPDATE tbl_list ")
SQL = SQL & ("Set kategori = " & Request(item) & " ")
SQL = SQL & ("Where ID = " & Right(item,Len(Item)-7) & "; " & vbCrLf)
End If
next
Response.Write "sql: "& sql
conn.execute(sql)
%>
Medlem sedan aug. 2001150 inlägg
#5

sql:
Microsoft OLE DB Provider for ODBC Drivers error '80040e0c'

Command text was not set for the command object.

On line 16

Medlem sedan dec. 200012 464 inlägg
#6

Du har döpt din dropdown till myselect@<id> men du jämför med select.

Sen så måste du också lägga connect.execute innaför din for each loop annars så kommer du bara att uppdatera en film.

Du kommer alltså att göra 450 olika update-anrop. Du kan ju bygga ett statement per kategori

Medlem sedan aug. 2001150 inlägg
#7

Kan du visa ?

Medlem sedan okt. 20005 273 inlägg
#8

Sen har du lagt in varje Select i en egen <form>-tag då kommer ju bara den som du har submit-knappen kopplad till att gå till "submit-sidan"....

Jag säger som nån annan har sagt tidigare...

Gör om, Gör rätt

Tyvärr kan jag inte hjälpa dig men det finns nog flera vänliga själar som vet hur man kan göra :)

mvh icaaq

Medlem sedan aug. 2001150 inlägg
#9

Ok.
Klurigt detta.

[Redigerat av Steveking den 19 jan 2002]

Medlem sedan dec. 200012 464 inlägg
#10
<% DBPath = "DBQ=" & Server.MapPath("hekbeta1.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
for each item in request.form
If left(item,9) = "myselect@" Then
SQL = "UPDATE tbl_list "
SQL = SQL & "Set kategori = '" & Request(item) & "'"
SQL = SQL & " Where ID = " & Right(item,Len(Item)-9) & 
conn.execute sql,,128
End If
next

%>

Det där med form vet jag inget om då jag inte sett den koden.

red: Lade till apostrofer om kategori då det låter som om det är ett textfält.

Medlem sedan okt. 20005 273 inlägg
Medlem sedan aug. 2001150 inlägg
#12

Syntax error

line 12

SQL = SQL & " Where ID = " & Right(item,Len(Item)-9) &
------------------------------------------------------^

Medlem sedan dec. 200012 464 inlägg
#13
<% DBPath = "DBQ=" & Server.MapPath("hekbeta1.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
for each item in request.form
If left(item,9) = "myselect@" Then
SQL = "UPDATE tbl_list "
SQL = SQL & "Set kategori = '" & Request(item) & "'"
SQL = SQL & " Where ID = " & Right(item,Len(Item)-9)
conn.execute sql,,128
End If
next
%>
Medlem sedan okt. 20005 273 inlägg
#14

Om du kollar koden som den där sidan producerar så kommer du att se att det inte kommer med något id .... :OO

Medlem sedan okt. 20005 273 inlägg
#15

Hur ser koden ut för visningen av alla filmer??
asso

http://www.uppdaterad.com/hellfire/hek/index1.asp?ordning=Filmer

257 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)