Avatar billede knaseren Nybegynder
18. januar 2006 - 11:42 Der er 17 kommentarer og
1 løsning

udtræk af nyheder via dato information

jeg har fundet et godt kalender script og fået det tilpasset og det virker og det hele, men nu vil jeg lave en ekstra funktion hvor man vælger i en drop down menu fra år/måned/dag, til år/måned/dag og med en submit knap som får explorer feltet til at vise:
http://*.*.*.*/kalender2/udtraek.asp?ar=2006&man=01&dag=18&ar=2006&man=01&dag=21&ar=Send

har valgt fra 18.01.06 til 21.01.06 så det virker jo :)

her er min kode :

<%Response.Buffer = True

Session.Lcid = 1053

datum = Date()
nu = Date()

ar  = DatePart("yyyy", nu, 2, 0)
manad = DatePart("m", nu, 2, 0)
dag = DatePart("d", nu, 2, 0)

sd = DateSerial(ar, manad, 1)
sn = DatePart("w", sd, 2, 0)%>

<!--#Include file="manader.asp"-->
<!--#Include file="settings.asp"-->


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>manuelt udtræk</title>
<script src="js/js.js"></script>
</head>

<body onLoad="<%=mess%>">

<p>
  <%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db

If Request.Querystring("do")="" Then

SET RS = Conn.Execute("Select * From Mess Where  manad= " & manad & "")%>

  <b>Dato fra:</b>       
  <form name="input" action="udtraek.asp" method="get">
 
  <select name="ar" style="width:55">
    <option value="">År
    <%Set RS = Server.CreateObject("ADODB.Recordset")
                    SQL = "Select ar From ar Order By id"
                    RS.Open SQL, Conn

                    Do Until RS.EOF
                        Response.Write Space(10) & "<option value=" & chr(34) & RS("ar") & chr(34)
                            If Int(Year(Date)) = Int(RS("ar")) Then Response.Write " selected" 
                        Response.Write ">" & RS("ar") & vbCrLf
                    RS.MoveNext
                    Loop

                    RS.Close
                    Set RS = Nothing%>
   
</select>
  <select name="man" style="width:40">
    <option value="">Måned
    <%Set RS = Server.CreateObject("ADODB.Recordset")
                    SQL = "Select man From man order by id"
                    RS.Open SQL, Conn

                    Do Until RS.EOF
                        Response.Write Space(10) & "<option value=" & chr(34) & RS("man") & chr(34)
                            If Int(Month(Date)) = Int(RS("man")) Then Response.Write " selected" 
                        Response.Write ">" & RS("man") & vbCrLf
                    RS.MoveNext
                    Loop

                    RS.Close
                    Set RS = Nothing%>
   
</select>
  <select name="dag" style="width:40">
    <option value="">Dag
    <%Set RS = Server.CreateObject("ADODB.Recordset")
                    SQL = "Select dag From dag Order By id"
                    RS.Open SQL, Conn

                    Do Until RS.EOF
                        Response.Write Space(10) & "<option value=" & chr(34) & RS("dag") & chr(34)
                            If Int(Day(Date)) = Int(RS("dag")) Then Response.Write " selected" 
                        Response.Write ">" & RS("dag") & vbCrLf
                    RS.MoveNext
                    Loop

                    RS.Close
                    Set RS = Nothing%>
   
</select>
 
  <br /><br />
 
  <b>Dato til:</b><br />
 
  <form name="input" action="udtraek.asp" method="get">
 
  <select name="ar" style="width:55">
    <option value="">År
    <%Set RS = Server.CreateObject("ADODB.Recordset")
                    SQL = "Select ar From ar Order By id"
                    RS.Open SQL, Conn

                    Do Until RS.EOF
                        Response.Write Space(10) & "<option value=" & chr(34) & RS("ar") & chr(34)
                            If Int(Year(Date)) = Int(RS("ar")) Then Response.Write " selected" 
                        Response.Write ">" & RS("ar") & vbCrLf
                    RS.MoveNext
                    Loop

                    RS.Close
                    Set RS = Nothing%>
   
  </select>
  <select name="man" style="width:40">
    <option value="">Måned
    <%Set RS = Server.CreateObject("ADODB.Recordset")
                    SQL = "Select man From man order by id"
                    RS.Open SQL, Conn

                    Do Until RS.EOF
                        Response.Write Space(10) & "<option value=" & chr(34) & RS("man") & chr(34)
                            If Int(Month(Date)) = Int(RS("man")) Then Response.Write " selected" 
                        Response.Write ">" & RS("man") & vbCrLf
                    RS.MoveNext
                    Loop

                    RS.Close
                    Set RS = Nothing%>
   
  </select>
  <select name="dag" style="width:40">
    <option value="">Dag
    <%Set RS = Server.CreateObject("ADODB.Recordset")
                    SQL = "Select dag From dag Order By id"
                    RS.Open SQL, Conn

                    Do Until RS.EOF
                        Response.Write Space(10) & "<option value=" & chr(34) & RS("dag") & chr(34)
                            If Int(Day(Date)) = Int(RS("dag")) Then Response.Write " selected" 
                        Response.Write ">" & RS("dag") & vbCrLf
                    RS.MoveNext
                    Loop

                    RS.Close
                    Set RS = Nothing%>
   
  </select>
  <br /><br />
 
  <input type="Submit" name="ar" value="Send">
  <%End If%>
</p>
</body>
</html>


--------------------
spørgsmålet er nu hvordan jeg får lavet det så databasen (som er access) smider de nyheder som ligger imellem den fra og til dato som jeg har fået lavet.
Avatar billede fennec Nybegynder
18. januar 2006 - 11:58 #1
Er der både en start og slut dato på nyhederne, eller er det bare en enkelt dato??
Avatar billede knaseren Nybegynder
18. januar 2006 - 12:05 #2
nyhederne har bare en dato for hvornår de er skrevet. så det skal virke på den måde at jeg kan vælge med mus en fra og til dato og så skal databasen smide alle de nyheder ud som er inden for den dato række. så f.eks hvis man skriver fra 18.01.2006 til 21.01.2006.. så skal der listes nyheder fra 18,19,20 og den 21. januar
Avatar billede fennec Nybegynder
18. januar 2006 - 12:30 #3
Ud fra dit link eks, som lige skal rettes lidt, så parameternavne ikke går igen, bliver det noget i denne stil:
http://*.*.*.*/kalender2/udtraek.asp?ar1=2006&man1=01&dag1=18&ar2=2006&man2=01&dag2=21&ar=Send

dato1 = request.querystring("man1") &"-"& request.querystring("dag1") &"-"& request.querystring("ar1")
dato2 = request.querystring("man2") &"-"& request.querystring("dag2") &"-"& request.querystring("ar2")

set rs = conn.execute("select * from dinTabel where datoKol between #"& dato1 &"# and #"& dato2 &"#")
while not rs.eof
  response.write rs("nyhed")
  rs.MoveNext
wend

ps. Læk mærke til at Access bruger mm-dd-yyyy formatet.
Avatar billede knaseren Nybegynder
18. januar 2006 - 13:03 #4
test
Avatar billede knaseren Nybegynder
18. januar 2006 - 13:04 #5
er kommet frem til denne kode her, men virker stadig ikke :

<%Response.Buffer = True

Session.Lcid = 1053

datum = Date()
nu = Date()

ar  = DatePart("yyyy", nu, 2, 0)
manad = DatePart("m", nu, 2, 0)
dag = DatePart("d", nu, 2, 0)

sd = DateSerial(ar, manad, 1)
sn = DatePart("w", sd, 2, 0)%>

<!--#Include file="manader.asp"-->
<!--#Include file="settings.asp"-->


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>manuelt udtræk</title>
<script src="js/js.js"></script>
</head>

<body onLoad="<%=mess%>">

<p>
  <%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db

If Request.Querystring("do")="" Then

SET RS = Conn.Execute("Select * From Mess Where  manad= " & manad & "")%>

  <b>Dato fra:</b>       
  <form name="input" action="udtraek.asp" method="get">
 
  <select name="ar" style="width:55">
    <option value="">År
    <%Set RS = Server.CreateObject("ADODB.Recordset")
                    SQL = "Select ar From ar Order By id"
                    RS.Open SQL, Conn

                    Do Until RS.EOF
                        Response.Write Space(10) & "<option value=" & chr(34) & RS("ar") & chr(34)
                            If Int(Year(Date)) = Int(RS("ar")) Then Response.Write " selected" 
                        Response.Write ">" & RS("ar") & vbCrLf
                    RS.MoveNext
                    Loop

                    RS.Close
                    Set RS = Nothing%>
   
</select>
  <select name="man" style="width:40">
    <option value="">Måned
    <%Set RS = Server.CreateObject("ADODB.Recordset")
                    SQL = "Select man From man order by id"
                    RS.Open SQL, Conn

                    Do Until RS.EOF
                        Response.Write Space(10) & "<option value=" & chr(34) & RS("man") & chr(34)
                            If Int(Month(Date)) = Int(RS("man")) Then Response.Write " selected" 
                        Response.Write ">" & RS("man") & vbCrLf
                    RS.MoveNext
                    Loop

                    RS.Close
                    Set RS = Nothing%>
   
</select>
  <select name="dag" style="width:40">
    <option value="">Dag
    <%Set RS = Server.CreateObject("ADODB.Recordset")
                    SQL = "Select dag From dag Order By id"
                    RS.Open SQL, Conn

                    Do Until RS.EOF
                        Response.Write Space(10) & "<option value=" & chr(34) & RS("dag") & chr(34)
                            If Int(Day(Date)) = Int(RS("dag")) Then Response.Write " selected" 
                        Response.Write ">" & RS("dag") & vbCrLf
                    RS.MoveNext
                    Loop

                    RS.Close
                    Set RS = Nothing%>
   
</select>
 
  <br /><br />
 
  <b>Dato til:</b><br />
 
  <form name="input" action="udtraek.asp" method="get">
 
  <select name="ar" style="width:55">
    <option value="">År
    <%Set RS = Server.CreateObject("ADODB.Recordset")
                    SQL = "Select ar From ar Order By id"
                    RS.Open SQL, Conn

                    Do Until RS.EOF
                        Response.Write Space(10) & "<option value=" & chr(34) & RS("ar") & chr(34)
                            If Int(Year(Date)) = Int(RS("ar")) Then Response.Write " selected" 
                        Response.Write ">" & RS("ar") & vbCrLf
                    RS.MoveNext
                    Loop

                    RS.Close
                    Set RS = Nothing%>
   
  </select>
  <select name="man" style="width:40">
    <option value="">Måned
    <%Set RS = Server.CreateObject("ADODB.Recordset")
                    SQL = "Select man From man order by id"
                    RS.Open SQL, Conn

                    Do Until RS.EOF
                        Response.Write Space(10) & "<option value=" & chr(34) & RS("man") & chr(34)
                            If Int(Month(Date)) = Int(RS("man")) Then Response.Write " selected" 
                        Response.Write ">" & RS("man") & vbCrLf
                    RS.MoveNext
                    Loop

                    RS.Close
                    Set RS = Nothing%>
   
  </select>
  <select name="dag" style="width:40">
    <option value="">Dag
    <%Set RS = Server.CreateObject("ADODB.Recordset")
                    SQL = "Select dag From dag Order By id"
                    RS.Open SQL, Conn

                    Do Until RS.EOF
                        Response.Write Space(10) & "<option value=" & chr(34) & RS("dag") & chr(34)
                            If Int(Day(Date)) = Int(RS("dag")) Then Response.Write " selected" 
                        Response.Write ">" & RS("dag") & vbCrLf
                    RS.MoveNext
                    Loop

                    RS.Close
                    Set RS = Nothing%>
   
  </select>
  <br /><br />
 
  <input type="Submit" name="ar" value="Send">
  <%End If%>

<%
if request.querystring("man1") and request.querystring("man2") then

dato1 = request.querystring("man") &"-"& request.querystring("dag") &"-"& request.querystring("ar")
dato2 = request.querystring("man") &"-"& request.querystring("dag") &"-"& request.querystring("ar")

set rs = conn.execute("select * from mess where datum between #"& dato1 &"# and #"& dato2 &"#")
do while not rs.eof
  response.write rs("nyhed")
  rs.MoveNext
loop
end if
%>



</p>
</body>
</html>
Avatar billede fennec Nybegynder
18. januar 2006 - 13:14 #6
Du skal omdøbe dine form felter. Du har 2 felter som hedder "dag". Hvordan skal systemet vide hvilken den skal bruge??

ombøb dem derfor til "dag1" og "dag2" (samme med måned og år), lige som jeg havde gjort i mit eks :o)

Som en hoved regel er det kun "radio" og "checkbox" elementer, som må hedde det samme.
Avatar billede fennec Nybegynder
18. januar 2006 - 13:15 #7
Der er dog ikke noget ulovlig i at andre elementer har samme navn, men det giver en masse problemer, som man skal programmere sig ud af. Lad derfor være med at give dem samme nave :o)
Avatar billede knaseren Nybegynder
18. januar 2006 - 13:22 #8
ok så det skal se sådan her ud

<%
if request.querystring("man1") and request.querystring("man2") then

dato1 = request.querystring("man01") &"-"& request.querystring("dag01") &"-"& request.querystring("ar01")
dato2 = request.querystring("man02") &"-"& request.querystring("dag02") &"-"& request.querystring("ar02")


men der sker stadig intet når jeg trykker send  (submit)
Avatar billede fennec Nybegynder
18. januar 2006 - 13:32 #9
Du skal lige harve rette if sætningen:
if request.querystring("man1") and request.querystring("man2") then

skal være:
if request.querystring("man01") and request.querystring("man02") then
Avatar billede knaseren Nybegynder
18. januar 2006 - 13:33 #10
har jeg også forsøgt.. tror der er mange fejl forskellige steder der gør det nok skal opgives
Avatar billede fennec Nybegynder
18. januar 2006 - 13:46 #11
Har du husket at rette dine formfelter også:
<select name="ar" style="width:55">

skal være:
<select name="ar01" style="width:55">
og
<select name="ar02" style="width:55">
Avatar billede knaseren Nybegynder
18. januar 2006 - 13:59 #12
så skete der da noget.. får fejlen:

ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/kalender2/udtraek.asp, line 162

linie 162 er    response.write rs("nyhed")

og et spørgsmål... skal min submit knap være:
<input type="Submit" name="ar" value="Send">
eller
<input type="Submit" name="ar01" name="ar02" value="Send">
Avatar billede knaseren Nybegynder
18. januar 2006 - 14:04 #13
rettede response.write rs("nyhed")  til  response.write rs("mess")  og får :

rubrik test tekstår testteeeeeesttest17testtest test test test test test test test test test test test hertest18 her hehe

så tror det er begyndt at virke.. skal så bare finde ud af at få den til at skrive det rigtigt og ikke bare i en rodebunke
Avatar billede knaseren Nybegynder
18. januar 2006 - 14:05 #14
gider du også hjælpe med det hvis det ik er svært fennec ?
Avatar billede fennec Nybegynder
18. januar 2006 - 14:12 #15
Du kan starte med at smide en <br> på:
response.write rs("mess") &"<br>"

men du er måske mere intresseret i at smide det hele ind i en tabel opbygning:
<%
if request.querystring("man01") and request.querystring("man02") then %>
<table>
<%
dato1 = request.querystring("man01") &"-"& request.querystring("dag01") &"-"& request.querystring("ar01")
dato2 = request.querystring("man02") &"-"& request.querystring("dag02") &"-"& request.querystring("ar02")
set rs = conn.execute("select * from mess where datum between #"& dato1 &"# and #"& dato2 &"#")
do while not rs.eof %>
<tr><td><%= rs("datum") %></td><td><%= rs("mess") %></td></tr>
<%
  rs.MoveNext
loop

%>
</table>
<%
end if %>
Avatar billede knaseren Nybegynder
18. januar 2006 - 14:17 #16
jeg finder selv ud af det..  tusind tak for hjælpen..  det vigtige virker nu, så kan jeg selv rode med resten
Avatar billede knaseren Nybegynder
18. januar 2006 - 14:18 #17
du skulle gerne have fået points..giver dig også noget karma :)
Avatar billede fennec Nybegynder
18. januar 2006 - 15:14 #18
Så siger jeg da mange tak

.o) <-- One Eyed Jack
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