Gäst Postad 21 januari, 2006 Share Postad 21 januari, 2006 Hej! Jag är totalt okunnig inom ASP och har fått ett script av en kompis. Scriptet hanterar min blogg. Det funkar utmärkt men jag tycker datum och tid på inlägg och kommentarer visas på ett dåligt sätt. Så här står det: "1/20/2006 5:59:35 PM". Jag skulle vilj att det istället skrevs ut så här: "20 Januari 2006, 17:59". Går detta att fixa på något sätt? Jag bifogar koden nedan. Jag är mycet tacksam för svar! Ursäkta att det blev så mycket kod =( Mvh Viktor <% Dim sDatabaseConnection sDatabaseConnection = "DRIVER={MySQL ODBC 3.51 Driver};"_ & "SERVER=localhost;"_ & "DATABASE=********;"_ & "UID=********;"_ & "PWD=*********;" '###################################################################################### '# COUNT RECORDS FIRST '###################################################################################### Dim sQueryStatus Dim intRecordsPerPage Dim intPages Dim sLimitPart 'LIMIT 0,1 -----> LIMIT {START_NUMBER,RECORDS_PERPAGE} Dim sStartQuery Dim sMaxStart Dim sProjectPrev Dim sProjectNext intRecordsPerPage = 5 'How many records to show per page Dim sqlProjectCount Dim connCount, rsCount Dim sProjectCount sqlProjectCount = "SELECT COUNT(id) FROM bloggar" 'Response.Write(sqlProjectCount) Set connCount = Server.Createobject("ADODB.Connection") Set rsCount = Server.CreateObject("ADODB.Recordset") connCount.open sDatabaseConnection Set rsCount = connCount.Execute(sqlProjectCount) If rsCount.eof then sProjectCount = 0 Else sProjectCount = rsCount.Fields(0) 'number of records End If connCount.close set connCount=nothing set rsCount=nothing 'Response.Write(sProjectCount) '###################################################################################### '# SIMPLE PAGING '###################################################################################### sStartQuery = Request.QueryString("start") 'Get total pages If intRecordsPerPage < sProjectCount then intPages = sProjectCount / intRecordsPerPage End If 'here we modify the number if it has a decimal, a better solution maybe would be to use formatnumber Dim instrIntPages instrIntPages = Instr(intPages,".") 'If after the decimal there is a 0 then we need to add a page If instrIntPages > 0 then intPages = Left(intPages,instrIntPages) + 1 End If 'Lets create the limit for the sql 'LIMIT 0,1 -----> LIMIT {START_NUMBER,RECORDS_PERPAGE} If sStartQuery <> "" AND isNumeric(sStartQuery) then sLimitPart = "LIMIT " & sStartQuery & "," & intRecordsPerPage Else sLimitPart = "LIMIT " & "0," & intRecordsPerPage End If 'Lets figure out what the max start number is sMaxStart = (intPages*intRecordsPerPage)-intRecordsPerPage If sStartQuery <> "" AND isNumeric(sStartQuery) then sStartQuery = CINT(sStartQuery) Else sStartQuery = 0 End If 'Now its time to select our projects Dim connP, rsP Dim sqlProjects Dim sPid Dim sSubject sqlProjects = "SELECT * FROM bloggar ORDER BY id DESC " & sLimitPart %> <html> <head> <title>viktorgustafsson.se/blogg</title> <LINK REL="stylesheet" HREF="../stil.css" TYPE="text/css"> </style> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="375" BORDERCOLOR="#999966"> <TR> <TD valign="top"> <% Set connP = Server.Createobject("ADODB.Connection") Set rsP = Server.CreateObject("ADODB.Recordset") connP.open sDatabaseConnection Set rs = connP.Execute(sqlProjects) %> <% if rs.eof Then %> Just nu är bloggen tom. <br> <% else Do while not rs.eof id = rs("id") SQL = "SELECT * FROM svar WHERE bloggid = " & id & " ORDER BY id DESC" Set rs2 = connp.Execute(SQL) %> <hr><br><br><b><%=rs("rubrik")%></b> <span class="f">- <%=rs("datum")%></span> <p> <img src="bilder/<%=rs("bild")%>" width="375" border="0"> <p><%=rs("text")%> <p><a href="kommenterablogg.asp?id=<%=id%>"><i>Klicka här för att kommentera denna blogg</i></a></p> <% if rs2.eof then else %> <% Do while not rs2.eof %> <br> Kommentar av <span class="f">- <%=rs2("avsandare")%></span> <a href="mailto:<%=rs2("epost")%>"><%=rs2("epost")%></a> <br>Postad <span class="f">- <%=rs2("datum")%></span> <br><span class="f"><i><%=rs2("text")%></span></i> <br><br> <% rs2.MoveNext loop End If rs.MoveNext loop End If %> <br><br> <div align="left" class="greyt">Totalt antal bloggar: <%=sProjectCount%></div> <% Dim queryPageOn queryPageOn = Request.QueryString("page") If NOT isNumeric(queryPageOn) AND NOT sStartQuery = "0" then queryPageOn = "1" End If queryPageOn = CINT(queryPageOn) 'Now lets create our previous / next buttons and disable them if they are not needed. If sMaxStart < 0 then sMaxStart = 0 If sStartQuery = "" or sStartQuery = "0" then 'PREVIOUS DISABLED sProjectPrev = "<a span >Föregående sida</span>" ElseIf sStartQuery > 0 then 'PREVIOUS ENABLED sProjectPrev = "<a href='?start=" & sStartQuery - intRecordsPerPage & "&page="& queryPageOn-1 & "'>Föregående sida</span></a>" End If 'Next If sMaxStart = sStartQuery then 'NEXT DISABLED sProjectNext = "<a span >Nästa sida</span>" ElseIf sStartQuery < sMaxStart then 'NEXT ENABLED if queryPageOn = 0 then queryPageOn = 1 end if sProjectNext= "<a href='?start=" & sStartQuery + intRecordsPerPage & "&page="& queryPageOn+1 & "'>Nästa sida</span></a>" End If Response.Write(sProjectPrev & " ") '# Create Page Numbers & Links Dim iPages, iPagesTemp For iPages=1 to intPages iPagesTemp = iPages-1 If NOT queryPageOn=iPages then Response.write "<a href='?start=" & iPagesTemp*intRecordsPerPage & "&page="& iPages & "' >" & iPages & "</a> " Else Response.write "[<a href='?start=" & iPagesTemp*intRecordsPerPage & "&page="& iPages & "' >" & iPages & "</a>] " End If Next Response.Write(" "&sProjectNext) %> </TD> </TR> </TABLE> </body> </html> [inlägget ändrat 2006-01-21 10:31:37 av viektor] Länk till kommentar Dela på andra webbplatser More sharing options...
Gäst Postad 21 januari, 2006 Share Postad 21 januari, 2006 I filen post.asp står det så här: datum = Now() Kanske är det här jag behöver ändra? /Viktor Länk till kommentar Dela på andra webbplatser More sharing options...
Micke_skane Postad 21 januari, 2006 Share Postad 21 januari, 2006 Ändra till detta: (Lägg Session.LCID = 1053(id för Sverige) i början av din asp-kod) <% Session.LCID = 1053 datum = FormatDateTime(Now,1)&", "&FormatDateTime(Now,4) Response.Write datum %> Så blir det som du vill ha det. EDIT: Ett litet tips! När du ska lägga in mycket kod så markera koden och tryck på [ LOG ]-knappen så tar det inte så mycket plats om man nu inte vill läsa koden. [inlägget ändrat 2006-01-21 11:47:57 av Micke_skane] [inlägget ändrat 2006-01-21 11:52:21 av Micke_skane] Länk till kommentar Dela på andra webbplatser More sharing options...
Gäst Postad 21 januari, 2006 Share Postad 21 januari, 2006 Tack för svaret! Som sagt, jag kan inte tillräckligt mycket om det här. Vart menar du att jag ska lägga in tillägget? I den fil som jag visade hela innehållet (ovan) eller i den fil som "datum= Now()" ligger? Ska jag lägga tillägget allra längst upp i koden? /Viktor Länk till kommentar Dela på andra webbplatser More sharing options...
Micke_skane Postad 21 januari, 2006 Share Postad 21 januari, 2006 Jadu, efter att letat igenom din kod så hittade jag ett ställe där du skriver ut rs("datum") vilket är en utskrift ur databasen där värdet, förmodar jag, är ett datum av typen now(). Do while not rs.eof id = rs("id") SQL = "SELECT * FROM svar WHERE bloggid = " & id & " ORDER BY id DESC" Set rs2 = connp.Execute(SQL) %> <hr><br><br><b><%=rs("rubrik")%&g t;</b> <span class="f">- <%=rs("datum")%></span> Om du byter till detta istället: Do while not rs.eof id = rs("id") SQL = "SELECT * FROM svar WHERE bloggid = " & id & " ORDER BY id DESC" Set rs2 = connp.Execute(SQL) [color="#ff0000"]datumet = rs("datum") datum = FormatDateTime(datumet,1)&", "&FormatDateTime(datumet,4)[/color] %> <hr><br><br><b><%=rs("rubrik")%&g t;</b> <span class="f">- <%[color="#ff0000"]=datum[/color]%></span> Du ser var jag markerat med rött! Så tror jag att det blir rätt... [inlägget ändrat 2006-01-21 12:23:14 av Micke_skane] [inlägget ändrat 2006-01-21 12:23:55 av Micke_skane] Länk till kommentar Dela på andra webbplatser More sharing options...
Gäst Postad 21 januari, 2006 Share Postad 21 januari, 2006 Ja, nu hände det grejer! Så här står det nu: "Wednesday, January 18, 2006, 18:58" Går det att få det till: "Onsdag 18 januari 2006, 18:58"? Eller beror det på servern (jag har b-one)? /Viktor Länk till kommentar Dela på andra webbplatser More sharing options...
Micke_skane Postad 21 januari, 2006 Share Postad 21 januari, 2006 Har du lagt in Session.LCID = 1053 i koden? Länk till kommentar Dela på andra webbplatser More sharing options...
Gäst Postad 21 januari, 2006 Share Postad 21 januari, 2006 Oj, sorry...jag förstod inte riktigt vart jag skulle lägga den någonstans... Länk till kommentar Dela på andra webbplatser More sharing options...
Micke_skane Postad 21 januari, 2006 Share Postad 21 januari, 2006 Lägg den precis i början av asp-koden på sidan där datumet skriv ut. <% Session.LCID = 1053 'Övrig kod... %> EDIT: Tack för poängen! [inlägget ändrat 2006-01-21 14:21:43 av Micke_skane] Länk till kommentar Dela på andra webbplatser More sharing options...
Gäst Postad 21 januari, 2006 Share Postad 21 januari, 2006 Jag får fasen inte till det. Så här är det allra längst upp i koden på "visablogg.asp": <% Dim sDatabaseConnection sDatabaseConnection = "DRIVER={MySQL ODBC 3.51 Driver};"_ & "SERVER=localhost;"_ & "DATABASE=viktorgustafsso;"_ & "UID=viktorgustafsso;"_ & "PWD=*****;" När jag lägger koden här så får jag bara ett felmeddelande när sidan ska öppnas: <% Session.LCID = 1053 Dim sDatabaseConnection sDatabaseConnection = "DRIVER={MySQL ODBC 3.51 Driver};"_ & "SERVER=localhost;"_ & "DATABASE=viktorgustafsso;"_ & "UID=viktorgustafsso;"_ & "PWD=vigu21666749;" [inlägget ändrat 2006-01-21 14:33:33 av viektor] Länk till kommentar Dela på andra webbplatser More sharing options...
Micke_skane Postad 21 januari, 2006 Share Postad 21 januari, 2006 Vad är det för felmeddelande? Prova att skriva ut det såhär då: datumet = rs("datum") Response.Write WeekDayName(weekday(datumet))&" "& day(datumet)&" "& MonthName(month(datumet))&" "&Year(datumet)&", "&FormatDateTime(datumet,4) EDIT: Tänkte bara visa skillnaden mellan olika LCID-värden. Jag hämtar ett datum-värde(nu()-typ) ur databasen och Session.LCID = 1033 (engelska) ger Saturday 21 January 2006, 12:14 Session.LCID = 1053 (svenska) ger lördag 21 januari 2006, 12:14 och då har jag använt ovanstånde utskrift osv... [inlägget ändrat 2006-01-21 14:44:52 av Micke_skane] Länk till kommentar Dela på andra webbplatser More sharing options...
Gäst Postad 21 januari, 2006 Share Postad 21 januari, 2006 Nej, nu skrev den inte ut något datum alls. Så här ser felmeddelandet ut: [bild bifogad 2006-01-21 14:45:57 av viektor] [bild bifogad 2006-01-21 14:46:26 av viektor] Länk till kommentar Dela på andra webbplatser More sharing options...
Micke_skane Postad 21 januari, 2006 Share Postad 21 januari, 2006 Har du stängt av "Visa egna http-felmeddelnde"? Vertyg - Internet alternativ - Avancerat Om du inte gjort det innan så vad får du då för felmeddelande nu? Länk till kommentar Dela på andra webbplatser More sharing options...
Anjuna Moon Postad 21 januari, 2006 Share Postad 21 januari, 2006 Du kör Suns ASP ser jag och den hanterar inte LCID korrekt dessvärre. [inlägget ändrat 2006-01-21 14:53:47 av Anjuna Moon] Länk till kommentar Dela på andra webbplatser More sharing options...
Gäst Postad 21 januari, 2006 Share Postad 21 januari, 2006 jaa, du... jag kör ju Safari på en Mac och jag hittar faktiskt inte vart man stänger av "visa egna http-felmeddelanden" Länk till kommentar Dela på andra webbplatser More sharing options...
Gäst Postad 21 januari, 2006 Share Postad 21 januari, 2006 Jaha, ok, då går det inte att få till datumet på svenska då? Länk till kommentar Dela på andra webbplatser More sharing options...
Micke_skane Postad 21 januari, 2006 Share Postad 21 januari, 2006 Vet tyvärr inte så mycket om Suns Asp! Hoppas någon annan kan ge dig ett svar på det! Tyvärr har jag inte tillgång till en Mac just nu så där kan jag inte heller hjälpa dig. EDIT: Denna tråden borde flyttas till Asp & VBScript. [inlägget ändrat 2006-01-21 15:13:03 av Micke_skane] [inlägget ändrat 2006-01-21 15:15:55 av Micke_skane] Länk till kommentar Dela på andra webbplatser More sharing options...
Anjuna Moon Postad 21 januari, 2006 Share Postad 21 januari, 2006 Jaha, ok, då går det inte att få till datumet på svenska då? Jodå, du kan ju skriva en egen funktion som plockar ut de olika delarna ur datumet och bygger upp en egendefinierad sträng för representationen. Säg till om du vill ha ett exempel. Länk till kommentar Dela på andra webbplatser More sharing options...
Gäst Postad 21 januari, 2006 Share Postad 21 januari, 2006 Du ska ändå ha stort tack för hjälpen! Jag är mycket tacksam. Jag fixar lite poäng till dig Länk till kommentar Dela på andra webbplatser More sharing options...
Anjuna Moon Postad 21 januari, 2006 Share Postad 21 januari, 2006 Äh, du får ett exempel i vilket fall: Function GetDate() dt=Now Dim arrMonths sMonths="Januari,Februari,Mars,April,Maj,Juni,Juli,Augusti,September,Oktober,November,December" arrMonths=Split(sMonths,",") sDt=Day(dt) & " " & arrMonths(Month(dt)-1) & ", " & Hour(dt) & ":" & Minute(dt) GetDate=sDt End Function Response.write GetDate() Länk till kommentar Dela på andra webbplatser More sharing options...
Micke_skane Postad 21 januari, 2006 Share Postad 21 januari, 2006 Jag är mycket tacksam. Ähh, det var väl inget... Det är alltid lika kul att hjälpen uppskattas! Ger en mer anledning att vilja hjälpa! Länk till kommentar Dela på andra webbplatser More sharing options...
Gäst Postad 21 januari, 2006 Share Postad 21 januari, 2006 Oj, det där såg avancerat ut, vart ska jag lägga den där koden? Där datumet ska skrivas ut eller? Länk till kommentar Dela på andra webbplatser More sharing options...
Anjuna Moon Postad 21 januari, 2006 Share Postad 21 januari, 2006 Själva funktionen kan du lägga var du vill, förslagsvis längst upp i koden. När du sedan vill skriva ut datumet använder du som jag skrev Response.Write GetDate() där du vill. Länk till kommentar Dela på andra webbplatser More sharing options...
Gäst Postad 21 januari, 2006 Share Postad 21 januari, 2006 Nu får jag upp samma felmeddelande igen. Jag är nog helt enkelt för kass på det här för att ens fatta... Länk till kommentar Dela på andra webbplatser More sharing options...
Anjuna Moon Postad 21 januari, 2006 Share Postad 21 januari, 2006 Nu får jag upp samma felmeddelande igen. Du måste förstås plocka bort den där tidigare LCID-grejen också. Länk till kommentar Dela på andra webbplatser More sharing options...
Rekommendera Poster
Arkiverat
Det här ämnet är nu arkiverat och är stängt för ytterligare svar.