webForumDet fria alternativet

*T I L T* form och rs

ASP

11 svar · 157 visningar · startad av aleborg

Medlem sedan jan. 20013 341 inlägg
Frågan#1

Totalt tilt där uppe idag :)
Får sluta jobba dygnet runt tror jag :e

Har ett formulär där två recordset tar fram allt.

        <form name="form4" method="post" action="layout.asp?action=savemenu">
          <%
SQL="Select * From System"
Set pr=Conn.Execute(SQL)
SQL="Select * From Pages Order By Indexname ASC"
Set pa=Conn.Execute(SQL)
Do Until pa.EOF
%>
          <tr> 
            <td class="ie" width="25%"><a href="../index.asp?page=<%=pa("PagesID")%>" target="_blank"><%=pa("Indexname")%></a></td>
            <td class="ie" width="16%"> 
              <input type="radio" name="Indexside" value="<%=pa("PagesID")%>"<% If pa("PagesID")=pr("Indexside") Then %> checked<% End If %>>
            </td>
            <td class="ie" width="21%"> 
              <input type="hidden" name="PagesID" value="<%=pa("PagesID")%>"><input type="text" name="Menunum" size="2" maxlength="2" Value="<%=pa("Menunum")%>">
            </td>
            <td class="ie" width="17%"><%=pa("Created")%>&nbsp;</td>
            <td class="ie" width="21%"><%=pa("Modified")%>&nbsp;</td>
          </tr>
          <%
pa.MoveNext
Loop
pa.Close
Set pa=Nothing
pr.Close
Set pr=Nothing
%>
          <tr> 
            <td class="ie" colspan="5"><input type="submit" name="Submit" value="Spara">
</td>
          </tr>
        </form>
      </table>
<%
End If
If Request.QueryString("action")="savemenu" then
SQL="Update just det, vad???
%>

Nu skall alla posterna i databasen uppdateras med den nya infon som fyllts i! Varje rad är ju ett nytt rs med en textruta som kan fyllas i och en radiobox som bara kan vara ikryssad i en av recordsetten! Hur ska update satsen se ut?

Normalt skulle jag skriva

Update Pages Set Menunum='"& Request.Form("Menunum") &"' Where PagesID='"& Request.Form("PagesID") &"'

Men hur gör jag när det är flera ID som ska uppdateras?

------------------
Data-Doktorn

Medlem sedan mars 200055 inlägg
#2

Tyvärr kan jag inte hjälpa dig med detta. Förklaring: Jo jag förstår inte. (Nybörjare) ;)

Men jag vill passa på att fråga hur du gjort för att få med detta.

Senaste nyheterna från DN.
Senaste nyheterna från IDG.

Jäkligt tacksam för svar. :e

------------------
Må tusen kamelers loppor hemsöka dina armhålor.

Medlem sedan jan. 20013 341 inlägg
#3

Nyheter via Nyhetsrubriker.com

------------------
Data-Doktorn

Medlem sedan okt. 20001 558 inlägg
#4

Nu är jag lite trött här (har andats avgaser hela dagen ;)) men finns det ingenting gemensamt med dom olika fälten som skall uppdateras i databasen som du kan lägga in i din WHERE sats?

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

Medlem sedan jan. 20013 341 inlägg
#5

Ifall man bara ser till textboxen(radioboxen funkar som den ska, och uppdaterar en annan databas) så skall allt in i "Menunum" i varje post i db:n, men med olika värden, dvs textbox värdet för varje recset!

Vad jag kan se så är det enda sättet att köra en "for" sats och en split, men är lite kass på det fortfarande :(

------------------
Data-Doktorn

Medlem sedan jan. 20013 341 inlägg
#6

Det här får jag fram när jag skriver ut SQL satsen

Update Pages Set Menunum='1, 3' Where PagesID='{9AE90C6C-B2F3-430B-8D66-1D49DD9D34C2}, {653B94A9-345B-443C-9E28-49770A031C25}'

------------------
Data-Doktorn

Medlem sedan jan. 20013 341 inlägg
#7

Ingensom har nått tips på split?

------------------
Data-Doktorn

Medlem sedan jan. 2001332 inlägg
#8

Hmmm... Samma problem jag hade för ett litet tag sedan... :h

Mitt förslag:

Loopa sql-satsen för varje id....
Ungefär så här

For each PagesID in request.form("PagesID")

Update Pages Set Menunum='"& Request.Form("Menunum") &"' Where PagesID='"& Request.Form("PagesID") &"'

Next

Jag TROR att det ska funka i alla fall... :e

------------------
Du lever bara en gång och den gången är nu!

Medlem sedan jan. 20013 341 inlägg
#9

Provade det här

For each PagesID in request.form("PagesID")
SQL="Update Pages Set Menunum='"& Request.Form("Menunum") &"' Where PagesID='"& Request.Form("PagesID") &"'"
Next
Conn.Execute(SQL)

och det här:

For each PagesID in request.form("PagesID")
SQL="Update Pages Set Menunum='"& Request.Form("Menunum") &"' Where PagesID='"& Request.Form("PagesID") &"'"
Conn.Execute(SQL)
Next

men inget funkade! Jag måste väl splitta först?

------------------
Data-Doktorn

Medlem sedan jan. 20013 341 inlägg
#10

har fått ihop det här:

menunums=Request.Form("Menunum")
pagesids=Request.Form("PagesID")
menunums=split(menunums,", ")
pagesids=split(pagesids,", ")
for t=0 to ubound(menunums)
menunum=menunums(t)
pageid=pagesids(t)
SQL="Update Pages Set Menunum='"& menunum &"' Where PagesID='"& pagesid &"'"
Conn.Execute(SQL)
Next

men posterna uppdateras fortfarande inte :(
inga felmeddelanden...

------------------
Data-Doktorn

Medlem sedan jan. 20013 341 inlägg
#11

glöm det, stavfel bara :e

------------------
Data-Doktorn

Medlem sedan mars 20002 836 inlägg
#12

Testa detta:

SQL="Update Pages Set Menunum='"& Request.Form("Menunum") &"' Where PagesID [b]IN ([/b]'"& Request.Form("PagesID") &"'[b])[/b]"

Conn.Execute(SQL)

cya,
PatrikB

------------------
*Det jämnar ut sig sa han som sket i byxan och satte sig ned*

253 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)