Näe, starttid är satt som en tidpunkt, ett klockslag men helt vanligt textformaterad i tabellen. Detta eftersom jag skriver 19.00 t.ex. Använder MS Access f.ö. ;)
Vore vänligt om du kunde utveckla din teori om IF-satsen lite till, jag tror jag fick grepp på hur du menade, men behöver nog en liten hjälp till, speciellt om hur man "sätter dit" selected ;)
Databaskoppling och IF!
41 svar · 854 visningar · startad av Coccozz · sida 2 av 3
Om det är text så ska du har ' runt värdet, det vet du ju ;)
En enkel variant:
<select size="1" name="vecka" style="margin:0; border:1px solid #000000; font-family:verdana; font-size:8pt; color:#000000; word-spacing:0; text-align:left" onchange="this.form.submit();">
<option<% If Request.Form("vecka") = x Then Response.Write " selected" %> value="<%=x%>">vecka <%=x%></option>
<option<% If Request.Form("vecka") = x+1 Then Response.Write " selected" %> value="<%=x+1%>">vecka <%=x+1%></option>
<option<% If Request.Form("vecka") = x+2 Then Response.Write " selected" %> value="<%=x+2%>">vecka <%=x+2%></option>
</option>
</select>
Det visste jag inte, men nu vet jag :D
Aha, mycket smart och logiskt sätt att lösa det på. Tackar ;)
R// Trots att det var så logiskt så fungerade det inte :(. Precis samma sak som tidigare händer fastän det nu ser ut såhär:
<option <% If Request.Form("vecka") = x Then Response.Write " selected" %> value="<%=x%>">vecka <%=x%></option>
<option <% If Request.Form("vecka") = x+1 Then Response.Write " selected" %> value="<%=x+1%>">vecka <%=x+1%></option>
<option <% If Request.Form("vecka") = x+2 Then Response.Write " selected" %> value="<%=x+2%>">vecka <%=x+2%></option>
Coccozz skrev:
Det visste jag inte, men nu vet jag :D
Om du inte visste det. varför har du då det runt vissa väden och inte andra?
Coccozz skrev:
Trots att det var så logiskt så fungerade det inte :(.
Okej, om vi ska kunna hjälpa dig måste du skriva vad som inte funkade. Dock tror jag att jag kan gissa så prova detta:
<select size="1" name="vecka" style="margin:0; border:1px solid #000000; font-family:verdana; font-size:8pt; color:#000000; word-spacing:0; text-align:left" onchange="this.form.submit();">
<option<% If CLng(Request.Form("vecka")) = CLng(x) Then Response.Write " selected" %> value="<%=x%>">vecka <%=x%></option>
<option<% If CLng(Request.Form("vecka")) = CLng(x+1) Then Response.Write " selected" %> value="<%=x+1%>">vecka <%=x+1%></option>
<option<% If CLng(Request.Form("vecka")) = CLng(x+2) Then Response.Write " selected" %> value="<%=x+2%>">vecka <%=x+2%></option>
</option>
</select>
Hehe, det är en lång historia, men ungefär såhär kan man sammanfatta den. Jag tog ett gammalt spökscript som jag dragit hem och anpassade den adminsidan efter mina behov. Detta scriptet är det första jag skriver helt själv, eller iaf. inte tankar ner ;). Därför. I fortsättningen blir det mer skriva själv, det var mycket roligare och då vet man vad allt är också, dock inte just nu, kl 00.00 :P
Tack för hjälpen för din gissning fungerade toppenbra :D
R// Dock inte när man väljer den tomma rutan. Då får man följande felmeddelande:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A000D)
Inkompatibla typer: 'CLng'
/bio/bio.asp, line 15
Har ingen IF-sats på den, kan det ha något med det att göra?
BTW.
Borde inte det här fungera?
titel = (objRS("titel"))
Response.Write "<a href=""info?titel=' & = titel & ' "">' & = titel & '</a>"
Det skrivs bara ' & = titel & ' och länken blir info?titel=' & = titel & '
if isnumeric(request.form("vecka")) then
vecka = cint(request.form("vecka"))
end if
<select size="1" name="vecka" style="margin:0; border:1px solid #000000; font-family:verdana; font-size:8pt; color:#000000; word-spacing:0; text-align:left" onchange="this.form.submit();">
<option<% If vecka = x Then Response.Write " selected" %> value="<%=x%>">vecka <%=x%></option>
<option<% If vecka = x+1 Then Response.Write " selected" %> value="<%=x+1%>">vecka <%=x+1%></option>
<option<% If vecka = x+2 Then Response.Write " selected" %> value="<%=x+2%>">vecka <%=x+2%></option>
</option>
</select>
Borde inte det här fungera?
Nja, nästan. Byt apostroferna mot citationstecken så ska det nog bli som du vill.
@nders har du kollat länken i tidigare inlägg? Om inte, gör så så tror jag att du förstår vad IFsatserna skall göra. De skall visa info om filmer som går i den valda veckan.
Jo, jag förstod vad du ville få ut, men inte alls vad du hade tänkt med koden, eftersom alla if-blocken var likadana. ;)
Slutligen:
Har man problem med SQL-frågor som inte lirar, som t.ex. när man får ett syntaxfel på sin Insert-fråga, skriv ut den färdiga SQL-frågan med response.write istället för att exekvera den, så blir det oändligt mycket lättare att felsöka.
Så där, nu fungerar det alldeles utmärkt ioch jag slapp den tomma fula rutan :D
Ang. att "bara" stoppa in dubbelfnuttar så fungerar det inget vidare, får det ena felmeddelandet på det andra beroende på hur jag testar.
Slut på programssats förväntas...
You name it :(
En rad med hur det skall se ut vore välkommet, får damp när jag skall skriva länkar i respons.write snart, det går ju inte :@
Hehe, näe, mina Ifsatser visade sig, som nämnt tidigare i tråden, vara lite udda, minst sagt ;). Tack och lov lyckades ni slå i mig det till slut.
R// Löste länkgrejjen genom att stjäla mer kod från tidigare nedladdade saker. Tänk så bra det kan vara :e
Såhär ser den ut nu:
Response.Write "<a href='javascript:popup(""info.asp?titel=" & titel & """,330,200);'>" & titel & "</a>"
Tack för all hjälp :D
En snabbis till.
Om jag använder länken som den ser ut i länken ovan så borde väl den här databas kopplingen fungera?
<%
titel = Request.QueryString("titel")
set Rs = Server.CreateObject("ADODB.Recordset")
RS.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("db/bio.mdb")
Rs.Source = "Select * From bio Where titel = " & titel
Rs.Open()
%>
Får felmeddelande som säger:
Feltyp:
Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.
/Bio/info.asp, line 7
Response.Write "Select * From bio Where titel = " & titel
Felmeddelandet kvarstår :(
Jag klantade mig och bytte i fel fil :S. Får ett nytt felmeddelande med din lösning:
Feltyp:
Microsoft JET Database Engine (0x80040E0C)
Det angavs inte någon kommandotext för kommandoobjektet.
/Bio/info.asp, line 7
@nders. Det var visst inte så bra att ta bort den lediga ytan. Nu fungerae ju inte vecka 14 igen (översta alternativet. Det var ju därför vi satte dit den. Kolla här nu så får du pröva själv.
OBS! NY LÄNK HÄR!
Har försökt en hel del med databasen nu, men jag får det verkligen inte att fungera **aaargh**. Någon som har en aning?
SQL-satsen borde se ut som följer eftersom titel är text
"Select * From bio Where titel = '" & titel & "'"
Alltid fnuttar ( ' ) vid text och alltid utan vid tal.
Coccozz skrev:
@nders. Det var visst inte så bra att ta bort den lediga ytan. Nu fungerae ju inte vecka 14 igen (översta alternativet.
Men alltså, lägg till den igen då? Jag har inte tagit bort någonting, det var väl bara så att den inte fanns med i den kodsnutt jag kopierade...
Hehe, kejj. Men lägger jag till den blir problemet, precis som jag skrev i tidigare inlägg att man får felmeddelande när man markerar den tomma ytan.
Databas frågan är för övrigt löst. Tack poffe :D
R// Löste problemet med den tomma ytan på följande vis
<option value="0"></option>
Och en IF-sats:
IF vecka = 0 THEN
response.write ""
ELSE
Under ELSE ligger allt det andra den gör när den vet veckan. Fungerar super nu. Titta in här för bevis ;).
hmm...inte en aning om va det där gör eller inte gör, men som jag har det nu funkar det iaf :D
Coccozz skrev:
hmm...inte en aning om va det där gör eller inte gör
Den postar formuläret så länge man inte valt det översta valet, dvs det tomma valet.
Var skall jag klistra in det då? I Form taggen eller :/?
Nej, i select-taggen.
<select name="select" onchange="if(this.selectedIndex>0) this.form.submit();">
<option></option>
...
</select>
Tackar :D Fungerar strålande :D