Avatar billede japlex Nybegynder
09. september 2002 - 12:36 Der er 20 kommentarer og
2 løsninger

Hente data fra en html tabel til querystring collection

Hvordan henter jeg data fra 3 tabelfelter via querystring collection til næste side?

Jeg vil gerne have hurtigt svar - defor de mange point!!

Se kode:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Oplysning1</td>
    <td>Oplysning2</td>
    <td>Oplysning3</td>
    <td><input name="chkKursustitel" type="checkbox" value="Send" lang="da" checked onMouseDown="java script: openWindow('ny.asp?HVILKEN KODE SKAL DER STÅ HER)%>',180,400);"></td>
  </tr>   
</table>

</body>
</html>
<SCRIPT LANGUAGE="JavaScript">
    <!-- hide from JavaScript-challenged browsers


        function openWindow(url,h,w) {

            win=window.open(url, "pop", "scrollbars=no,width="+w+",height="+h+",left=300,top=250");
            win.focus();
           
            }

            // done hiding -->
    </SCRIPT>
Avatar billede sblar Nybegynder
09. september 2002 - 12:41 #1
Er oplysning1-3 statiske data i din tabel?
Avatar billede japlex Nybegynder
09. september 2002 - 12:42 #2
ja
Avatar billede sblar Nybegynder
09. september 2002 - 12:43 #3
Jamen så skriver du da bare:
'ny.asp?opl1=Oplysning1&opl2=Oplysning2&opl3=Oplysning3'
Avatar billede oasen Nybegynder
09. september 2002 - 12:44 #4
onMouseDown="java script:openWindow('ny.asp',400,500);return false">
Avatar billede keysersoze Ekspert
09. september 2002 - 12:44 #5
'ny.asp?opl1=Oplysning1&opl2=Oplysning2&opl3=Oplysning3'

?
Avatar billede keysersoze Ekspert
09. september 2002 - 12:45 #6
damn vi var enige sblar... :)
Avatar billede sblar Nybegynder
09. september 2002 - 12:45 #7
Og i ny.asp henter du så værdierne ud med:
opl1 = request.querystring("opl1")
opl2 = request.querystring("opl2")
opl3 = request.querystring("opl3")
Avatar billede sblar Nybegynder
09. september 2002 - 12:48 #8
Sagt på en anden måde: du kan ikke hente statiske data fra en tabel, du er nødt til at skrive dem selv. Fra en form derimod kan du hente en brugers input og fra et dynamisk felt i en tabel kan du hente data fra kilden.
Avatar billede japlex Nybegynder
09. september 2002 - 12:53 #9
øh... jeg tror jeg har tilbageholdt vigtige oplsyninger.

Lad mig se om jeg kan forklare

Indholdet af tabellen bliver genereret dynamisk via et recordset der løbes igennem, så der dannes rigtig mange tabelrækker med hver 3 felter. Eksempelkoden er altså ikke som i min egentlige kode

Når så brugeren "klikker" på checkboxen er teksten jo statisk og ikke sådan lige at få fat i, - eller hvad?

Har I brug for hele koden??
Avatar billede keysersoze Ekspert
09. september 2002 - 13:00 #10
jamen - hvis du indsætter dataene fra en db kan du da også bare indsætte disse data på samme måde som vores eksempler - fx;

'ny.asp?opl1=" & rs("oplys1") & "&opl2=" & rs("oplys2") & "&opl3=" & rs("oplys3") & "'
Avatar billede sblar Nybegynder
09. september 2002 - 13:00 #11
Altså er felterne dynamiske og *ikke* statiske :o)

så ser det sådan her ud:
'ny.asp?opl1=<%=felt1%>&opl2=<%=felt2%>&opl3=<%=felt3%>'
Avatar billede japlex Nybegynder
09. september 2002 - 13:04 #12
Nej - for det er først når siden er læst ind at brugeren klikker på checkboxen der åbner den nye side hvorover oplysningerne skal sendes!
På det tidspunkt er recordsettet forlængst lukket og smidt væk!
Avatar billede japlex Nybegynder
09. september 2002 - 13:05 #13
Jeg ved det er lidt vildt men her følger koden
Avatar billede japlex Nybegynder
09. september 2002 - 13:05 #14
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Dim objRS_fag
Dim objRS_fag_numRows

Set objRS_fag = Server.CreateObject("ADODB.Recordset")
objRS_fag.ActiveConnection = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\Inetpub\wwwroot\MySkills\Q_db.mdb"
objRS_fag.Source = "SELECT * FROM tblFAG"
objRS_fag.CursorType = 0
objRS_fag.CursorLocation = 2
objRS_fag.LockType = 1
objRS_fag.Open()

objRS_fag_numRows = 0
%>

<%
Dim objRS_Underviser
Dim objRS_Underviser_numRows

Set objRS_Underviser = Server.CreateObject("ADODB.Recordset")
objRS_Underviser.ActiveConnection = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\Inetpub\wwwroot\MySkills\Q_db.mdb"
objRS_Underviser.Source = "SELECT *  FROM tblUnderviser"
objRS_Underviser.CursorType = 0
objRS_Underviser.CursorLocation = 2
objRS_Underviser.LockType = 1
objRS_Underviser.Open()

objRS_Underviser_numRows = 0
%>
<%
Dim objRS_Kursus__temp
objRS_Kursus__temp = "null"
If (null <> "") Then
  objRS_Kursus__temp = null
End If
%>

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="stdStylesheet.css" rel="stylesheet" type="text/css">
</head>

<body>

<p>&nbsp;</p>
<form name="frmUnderviser" method="post" action="<%= Request.ServerVariables("SCRIPT_NAME")%>">

  <select name="selUnderviser" onChange="this.form.submit()" class="DropDown">
  <option selected>Vælg underviser</option>
  <option>_____________________________</option>
    <%
While (NOT objRS_Underviser.EOF)
%>
    <option value="<%=(objRS_Underviser.Fields.Item("Navn").Value)%>"><%=(objRS_Underviser.Fields.Item("Navn").Value)%></option>
    <%
  objRS_Underviser.MoveNext()
Wend
If (objRS_Underviser.CursorType > 0) Then
  objRS_Underviser.MoveFirst
Else
  objRS_Underviser.Requery
End If

%>
  </select>
</form>
<p>
<%=request.form("selUnderviser")%>
</p>
<%
    Session("ValgtUnderviser") = request.form("selUnderviser")
%>
<table id="Data" width="100%" class="tableback" cellpadding="3" cellspacing="1">
  <tr>
    <td class="tableindtast"><b>Fagområde:</b></td>
    <td class="tableindtast"></td>
    <td class="tableindtast"><b>Kursustitel:</b></td>
    <td class="tableindtast" width="45%"><b>Kommentar:</b></td>
  </tr>
  <%
    While (NOT objRS_fag.EOF)
%>
  <tr>
    <td class="tableindtast" ><b><%=(objRS_fag.Fields.Item("Fagomraade").Value)%></b></td>
    <td class="tableindtast"></td>
    <td class="tableindtast"></td>
    <td class="tableindtast"></td>
  </tr>
  <%
        Dim objRS_Kursustitel
        Dim objRS_Kursustitel_numRows
       
        Set objRS_Kursustitel = Server.CreateObject("ADODB.Recordset")
        objRS_Kursustitel.ActiveConnection = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\Inetpub\wwwroot\MySkills\Q_db.mdb"
        objRS_Kursustitel.Source = "SELECT *  FROM tblKURSUS WHERE Fagomraade = '" & objRS_fag.Fields.Item("Fagomraade").Value & "'"
        objRS_Kursustitel.CursorType = 0
        objRS_Kursustitel.CursorLocation = 2
        objRS_Kursustitel.LockType = 1
        objRS_Kursustitel.Open()
   
        objRS_Kursustitel_numRows = 0
       
        While (NOT objRS_Kursustitel.EOF)
%>
          <tr>
            <td class="tableindtast"></td>
<%   
            Dim objRS_IsKursustitel
            Dim objRS_IsKursustitel_numRows
   
            Set objRS_IsKursustitel = Server.CreateObject("ADODB.Recordset")
            objRS_IsKursustitel.ActiveConnection = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\Inetpub\wwwroot\MySkills\Q_db.mdb"
            objRS_IsKursustitel.Source = "SELECT *  FROM tblKURSUS_UNDERVISER WHERE Fagomraade = '" & objRS_fag.Fields.Item("Fagomraade").Value & "' AND Kursustitel = '" & objRS_Kursustitel.Fields.Item("Kursustitel").Value & "' AND Navn = '" & Session("ValgtUnderviser") & "'"
            objRS_IsKursustitel.CursorType = 0
            objRS_IsKursustitel.CursorLocation = 2
            objRS_IsKursustitel.LockType = 1
            objRS_IsKursustitel.Open()

            objRS_IsKursustitel_numRows = 0
   
            If NOT objRS_IsKursustitel.EOF and Session("ValgtUnderviser") <> "" Then
%>
                <td class="tableindtast" align="center" valign="middle"><input name="chkKursustitel" type="checkbox" lang="da" checked onMouseDown="java script: openWindow('ny.asp?valgtunderviser=<%Session("ValgtUnderviser")%>&fagomraade=<%Session("Fagomraade")%>&kursustitel=<%Session("Kursustitel")%>',180,400);"></td>
                <td class="tableindtast"><%=(objRS_Kursustitel.Fields.Item("Kursustitel").Value)%></td>
                <td class="tableindtast"><%=(objRS_IsKursustitel.Fields.Item("K_Kommentar").Value)%></td>
            </tr>
<%
            Else
%>
                <td class="tableindtast" align="center" valign="middle"><input name="chkKursustitel" type="checkbox" lang="da" onMouseDown="java script: openWindow('ny.asp',180,400);"></td>
                <td class="tableindtast"><%=(objRS_Kursustitel.Fields.Item("Kursustitel").Value)%></td>
                <td class="tableindtast"></td>
            </tr>
<%
            End If
            objRS_IsKursustitel.Close()
            Set objRS_IsKursustitel = Nothing
       
        objRS_Kursustitel.movenext
        Wend
        objRS_Kursustitel.Close()
        Set objRS_Kursustitel = Nothing
   
      objRS_fag.movenext
    Wend
%>
</table>
<%
    Session("ValgtFagomraade") = request.form("select")
   
%>   
<p>&nbsp;</p>
</body>
</html>
<%
objRS_fag.Close()
Set objRS_fag = Nothing
%>
<%
objRS_Underviser.Close()
Set objRS_Underviser = Nothing
%>
<SCRIPT LANGUAGE="JavaScript">
    <!-- hide from JavaScript-challenged browsers


        function openWindow(url,h,w) {

            win=window.open(url, "pop", "scrollbars=no,width="+w+",height="+h+",left=300,top=250");
            win.focus();
           
            }

            // done hiding -->
    </SCRIPT>
Avatar billede sblar Nybegynder
09. september 2002 - 13:15 #15
Der stod jeg lige af!!!
På den side hvor du viser data må du jo have hentet dem fra et eller andet; databasen, URL eller form (er altså ikke lige til at se ud af din kode). Men, du har vel data tilgængelig i nogle variabler og kan dermed også sende dem videre. Prøv lige at klippe det stykke ud hvor du præsenterer data og fortæl også gerne hvilke filer der indgår.
Avatar billede japlex Nybegynder
09. september 2002 - 13:27 #16
Jeg skal have 3 informationer bragt videre:

1.) En undervisers navn gemt i: Session("ValgtUnderviser")
2.) Et fagområde - ikke gemt i nogen variabel
3.) En kursustitel - ikke gemt i nogen variabel

Underviseren er ikke noget problem - værdien henter jeg fra en form, men
problemet med punkt 2 og 3 er at tabellen indeholder forskellige fagområder og rigtig mange kursustitler.

Forstil jer tabellen som noget lignende:

Fagområde:              Kursustitel:          Sæt flueben:
Netværk                Windows NT            <Checkbox>
                        Windows 2000 Server  <Checkbox>
Programmering          ASP                  <Checkbox>
                        VB                    <Checkbox>
                        SQL                  <Checkbox>
PC-erhverv              Modul A              <Checkbox>
                        Modul B              <Checkbox>
                        Modul C              <Checkbox>

Hvordan gemmer jeg data i variabler samtidig med de bliver smidt i tabellerne og hvordan får jeg fat i dem bagefter når brugeren eksempelvis klikker på den checkbox der hører til kurset Windows 2000 Server (fagområde + kursustitel)
Avatar billede japlex Nybegynder
09. september 2002 - 13:28 #17
jeg venter spændt på jeres svar - og tager nu på arbejde - Jeg kan vende tilbage i aften - Jeg har virkelig brug for en løsning og smider gerne flere point på bordet for at få en løsning!!!
Avatar billede sblar Nybegynder
09. september 2002 - 13:51 #18
Hvordan fremkommer f.eks. teksten Windows 2000 server?
Hvis fagområde og kursustitel ikke er statiske må de jo komme fra recordsettet. I det loop hvor du præsenterer data skal du samtidigt generere den querystring der skal overføres til ny.asp. Kun i lige nøjagtig det gennemløb hvor data præsenteres, har du adgang til de rigtige data.
Avatar billede japlex Nybegynder
09. september 2002 - 15:11 #19
OK - så bli´r det nok svært!

Men kan man så ikke i det gennemløb placere data i et 2-dimensionelt array og navngive dem og checkboxen med fortløbende numre.

Når så data skal overføres til ny.asp hentes dataene fra det arraynr der svarer til checkboxens nr??
Avatar billede keysersoze Ekspert
09. september 2002 - 15:37 #20
har du ikke et eksempel hvor vi kan se det nuværende i funktion - så kan det være det er lidt lettere for os at gennemskue
Avatar billede japlex Nybegynder
10. september 2002 - 11:00 #21
Jeg fandt en løsning på mit problem.

Jeg smed dataene i et to-dimensionelt array under gennemløb af rekordsettet. Derefter havde jeg så adgang til dataene senere!
Avatar billede japlex Nybegynder
10. september 2002 - 11:01 #22
Jeg fordeler pointene ligeligt

Tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester