Just nu i M3-nätverket
Gå till innehåll

hellomoto

Medlem
  • Antal inlägg

    32
  • Gick med

  • Senaste besök

Allt postat av hellomoto

  1. Väljer man första kursen på dropdownlistan ska man se alla anmälningar till den. Dvs man sorterar ut de anmälningarna ur databasen. Precis som på en del sidor när man klickar på rubriken Namn och listan sorteras i namn-ordning, fast via en dropdown istället. visa.asp?sortera=kurs1 typ.
  2. Fin bild Jag tror jag förstår vad du menar, get syns i adressfältet, post gör det inte. Men jag undrar fortfarande vad jag ska ha för action så att den sorterar när jag trycker på submit. För jag måste väl ha en action?
  3. Ja verkligen! Tyvärr är det är svårt att tänka några steg framåt innan man har fått lite rutin. Och man har gärna för stora planer som man inte har kunskap att kunna genomföra på ett bra sätt... (jag vet Tur att det finns snälla personer med tålamod att hjälpa oss tröga! För att återgå till sortera-funktionen... <form method="post" action="?"> Action är väl där adressen?sortera= ska va för att det ska funka, men hur ska jag skriva den för att det ska blir rätt? [inlägget ändrat 2006-11-26 12:09:40 av hellomoto]
  4. Det var precis så jag menade Cluster. Ska testa din kod, tack! De flesta kommer bara anmäla sig till en kurs, men om någon vill vara med på flera så går det. Då fyller man i anmälningsformuläret en gång till. Det är säkerligen inte bästa databasdesignen men det funkar iaf. [inlägget ändrat 2006-11-24 09:11:11 av hellomoto]
  5. hej igen! Den här gången hoppas jag att mitt problem blir enklare att lösa Jag har en sida som visar alla gjorda anmälningar till olika kurser. Jag vill att man genom en rullist som listar alla kurserna från tblKurs, ska kunna välja en kurs och se alla som är anmälda till den (deras info finns i tblDeltagare). Själva funktionen då. Där frågetecknet är undrar jag vad som ska stå för att den ska ta det id som blir beroende på vilken kurs man väljer att se. [log]<% Dim sortera If Request.QueryString("sortera") = "" Then sortera = "id" 'standradkolumnen Else sortera = Request.QueryString("sortera") End If Set Connect = Server.CreateObject("ADODB.Connection") Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/db/anmalan.mdb") sql = "Select * From tblDeltagare WHERE id = ?" %>[/log] Den här koden hämtar kurserna från tblKurs. Den röda koden visar mitt misslyckade försök till att länka. [log]<% Set Connect = Server.CreateObject("ADODB.Connection") Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/db/anmalan.mdb") strSQL = "SELECT id, strKursnamn FROM tblKurs ORDER BY id ASC" Set RecSet = Connect.Execute(strSQL) %> <select name="dans" id="dans"> <% RecSet.MoveFirst() %> <% Do Until RecSet.Eof %> <option value="visa.asp?sortera=<% =RecSet("id") %>"><% =RecSet("strKursnamn") %></option> <% RecSet.MoveNext Loop RecSet.Close Set RecSet= nothing Connect.Close Set Connect = nothing %> </select>[/log] Hoppas jag har kunnat förklara någorlunda begripligt. [inlägget ändrat 2006-11-23 14:32:29 av hellomoto]
  6. Ja du, den som hade ett bra svar på det =D Vill mycket men kan för lite...
  7. Hur menar du? Det är bara någon enstaka kurs som är full.
  8. När jag testar koden så syns inte något i dropdown. Inget felmeddelande heller.
  9. Nu funkar det! Då kommer nästa grej. Det ska inte gå att välja en kurs som är fullbokad. Till det har jag Dim bKursFull If CInt(RecSet("strAntal")) = CInt(RecSet("strPlatser")) Then bKursFull = True Else bKursFull = False End If <% If bKursFull = True Then %> <b>Kursen som du har valt är full</b> <br /> <% End If %> Detta är inte med på sidan där man skriver in sig, utan det kontrolleras på nästa sida, där man kontrollerar att ens info stämmer innan man skickar det. Hur får jag in det på redigera-sidan?
  10. Jag tänkte mig att det enklaste var att presentera kurserna i en jumpmeny. Det blir visserligen en ganska lång lista men hur gör jag annars på smidigaste sätt? När jag testar med ditt kodexempel Microsoft JET Database Engine error '80040e14' Syntax error (missing operator) in query expression ''kalle' strEfternamn='kalle' strAdress='kalle' strPostnr='kalle' strPostort='kalle' strTelehem='kalle' strMobil='kalle' strEpost='elin.welander@yahoo.se' kursid='2' strOvrigt='''. redigera.asp, line 113 113: conn.Execute(strSQL)
  11. Det blir ingen skillnad när jag lägger till conn.Execute(strSQL)
  12. Det beror på bristande kunskaper... Nu har jag iaf fått in den där koden som visar de olika värdena (man väljer kurs) i databasen. När jag sen ska uppdatera har jag testat att lägga till det under det andra som ska uppdateras [log] Set conn = Server.CreateObject("ADODB.Connection") connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/db/anmalan.mdb") conn.open connStr strSQL = "UPDATE tblDeltagare SET "&_ "strFornamn='"&strfornamn&"', "&_ "strEfternamn='"&strefternamn&"', "&_ "strAdress='"&stradress&"', "&_ "strPostnr='"&strpostnr&"', "&_ "strPostort='"&strpostort&"', "&_ "strTelehem='"&strtelehem&"', "&_ "strMobil='"&strmobil&"', "&_ "strEpost='"&strepost&"', "&_ "strOvrigt='"&strovrigt&"' "&_ "WHERE deltID =" & deltID strSQL = "UPDATE tblDeltagare SET "&_ "kursid='"&kursid&"' "&_ "WHERE deltID =" & deltID Response.Write(strSQL) conn.Execute(strSQL) conn.close Set conn=Nothing[/log] men istället för att byta kurs så försvinner det värdet. hur ska jag skriva?
  13. Tråden handlar om redigera-sidan till min gästbok. På sidan där man skriver i den har jag en funktion som gör att man kan välja olika alternativ från en databas. Om man skulle behöva ändra något vill jag att den funktionen ska funka på redigera-sidan också. Men jag vet inte hur jag ska lägga in koden på den sidan. Oj nu blev det rörigt, är du med?
  14. Skulle behöva lite mer hjälp till samma sida, om ni orkar *pust* På sidan där man skriver i formuläret första gången (alltså inte redigerar) har jag följande kod för att kunna lista de danser som är inlagda i databasen, i en rullgardinsmeny. Jag vill ju självklart att det ska gå att ändra detta när man redigerar, men hur gör jag? [log]<% Dim strSQL, Connect, RecSet Set Connect = Server.CreateObject("ADODB.Connection") Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/db/anmalan.mdb") strSQL = "SELECT id, strAntal, strPlatser, strKursnamn, strPris FROM tblKurs ORDER BY id ASC" Set RecSet = Connect.Execute(strSQL) %>[/log] [log]<select name="dans" id="dans" onchange="MM_jumpMenu('parent',this,0)"> <% RecSet.MoveFirst() %> <% Do Until RecSet.Eof %> <option value="<% =RecSet("id") %>"><% =RecSet("strKursnamn") %> (<%=RecSet("strPris")%> kr)</option> <% RecSet.MoveNext Loop RecSet.Close Set RecSet= nothing Connect.Close Set Connect = nothing %> </select> [/log]
  15. Weee! Nu funkar det, tack så jättemycket för all hjälp och för tålamodet Supersnällt!!
  16. UPDATE tblDeltagare SET strFornamn='karl', strEfternamn='kalle', strAdress='kalle', strPostnr='kalle', strPostort='kalle', strTelehem='kalle', strMobil='kalle', strEpost='mail@mail.se', strOvrigt='', WHERE deltID =3 Microsoft JET Database Engine error '80040e14' Syntax error in UPDATE statement. redigera.asp, line 98 98: conn.Execute(strSQL)
  17. Bortse från mitt förra inlägg. Har kopierat o klistrat in från din länk. Då blir det Microsoft JET Database Engine error '80040e14' Syntax error in UPDATE statement. redigera.asp, line 95 95: conn.Execute(strSQL)
  18. Nu har jag ändrat det. Då kommer nästa Microsoft JET Database Engine error '80040e14' Syntax error (missing operator) in query expression 'deltID =3formerror=true'. redigera.asp, line 23 23: Set RS=conn.Execute(strSQL)
  19. Microsoft VBScript compilation error '800a03ea' Syntax error redigera.asp, line 103 103: nextPage="?action=edit&formerror=true&missing="&
  20. Ja, rätt värden syns. Länken till formuläret är Response.Write("<A HREF=""redigera.asp?action=edit&deltID=" & objRs("deltId") & """>Redigera</A>") När jag trycker på spara nu får jag meddelandet Microsoft VBScript runtime error '800a000d' Type mismatch: 'missing' redigera.asp, line 104 line 104: nextPage="?action=edit&formerror=true&missing="
  21. [log]<% 'Enkel funktion för att formatera en sträng och ta bort lite skadliga tecken Function sqlTxt(str) str=Trim(str) str=Replace(str, "'", "") str=Replace(str, ",", "") str=Replace(str, "&", "") str=Replace(str, "|", "") str=Replace(str, """", "") sqlTxt=str End Function deltID=sqlTxt(Replace(Request("deltID"), "'", "")) If Request("action") = "edit" Then strSQL="SELECT strFornamn,strEfternamn,strAdress,strPostnr,strPostort,strTelehem,strMobil,strEpost,strOvrigt,kursid,deltID FROM tblDeltagare WHERE deltID =" & deltID Set conn = Server.CreateObject("ADODB.Connection") connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("/db/anmalan.mdb") conn.open connStr Set RS=conn.Execute(strSQL) If Not RS.EOF Then fornamn=RS("strfornamn") efternamn=RS("strefternamn") adress=RS("stradress") postnr=RS("strpostnr") postort=RS("strpostort") telehem=RS("strtelehem") mobil=RS("strmobil") epost=RS("strepost") ovrigt=RS("strovrigt") %> <form method="post" action="?action=update"> <input type="hidden" name="deltID" value="<%=deltID%>"> F&ouml;rnamn: <input type="text" name="fornamn" value="<%=RS("strFornamn")%>"> Efternamn: <input type="efternamn" name="rubrik" value="<%=RS("strEfternamn")%>"><br> Adress: <input type="text" name="adress" value="<%=RS("strAdress")%>"><br> Postort: <input type="text" name="postort" value="<%=RS("strPostort")%>"><br> Postnr: <input type="text" name="postnr" value="<%=RS("strPostnr")%>"><br> Telehem: <input type="text" name="telehem" value="<%=RS("strTelehem")%>"><br> Mobil: <input type="text" name="mobil" value="<%=RS("strMobil")%>"><br> E-post: <input type="text" name="epost" value="<%=RS("strEpost")%>"><br> &Ouml;vrigt:<textarea name="ovrigt"><%=RS("strOvrigt")%></textarea><br /> <input name="submit" type="submit" id="submit" value="Spara &auml;ndringar"> </form> <% Else Response.Write("Hittade inte det du letade efter i databasen...") End If Set RS=Nothing conn.close Set conn=Nothing End If If Request("action") = "update" Then ' Här bör du kolla indatan. Dvs så att man fyllt i ' de fält som är obligatoriska samt skydda dig mot ' SQL-injection och annat otyg. ' När du gjort detta sätter du alltOk=True. ' Nedan en förenklad variant med extra koll på förnamnet strfornamn=sqlTxt(Request("fornamn")) strefternamn=sqlTxt(Request("efternamn")) stradress=sqlTxt(Request("adress")) strpostnr=sqlTxt(Request("postnr")) strpostort=sqlTxt(Request("postort")) strtelehem=sqlTxt(Request("telehem")) strmobil=sqlTxt(Request("mobil")) strepost=sqlTxt(Request("epost")) strovrigt=sqlTxt(Request("ovrigt")) If strfornamn="" Then alltOk=False missing="fornamn" End If If alltOk Then ' Om allt är ok (indatakontrollen ovan) så uppdaterar du posten. Set conn = Server.CreateObject("ADODB.Connection") connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../db/anmalan.mdb") conn.open connStr strSQL = "UPDATE tblDeltagare SET "&_ "strFornamn='"&fornamn&"', "&_ "strEfternamn='"&efternamn&"', "&_ "strAdress='"&adress&"', "&_ "strPostnr='"&postnr&"', "&_ "strPostort='"&postort&"', "&_ "strTelehem='"&telehem&"', "&_ "strMobil='"&mobil&"', "&_ "strEpost='"&epost&"', "&_ "strDans='"&dans&"', "&_ "strOvrigt='"&ovrigt&"', "&_ "WHERE deltID =" & deltID conn.Execute(strSQL) conn.close Set conn=Nothing 'Ange "rätt" sida att skicka användaren till när fältet har uppdaterats (byt ut default.asp till lämplig sida) nextPage="visa.asp" Else 'Skicka tillbaks användaren till formulärsidan med ett meddelande om vad som är fel. (byt ut myForm.asp till lämplig sida) nextPage="?action=edit&formerror=true&missing="&missing End If Response.Redirect(nextPage) End If %>[/log]
  22. ok, nu är jag med på banan igen. Har lagt in din kod och ändrat till mina värden. Formuläret syns med rätt uppgifter i. När jag trycker på spara står det Syntax error (missing operator) in query expression 'deltID ='. line 23 23: conn.open connStr
  23. pinsamt!!! nu får jag skämmas, har inte fattat att det gick att trycka på koden o se mer... =|
  24. Jo det trodde jag iaf, men måste jag inte ha med databasgrejerna o det iaf?
×
×
  • Skapa nytt...