webForumDet fria alternativet

Function CalcMyAge

7 svar · 271 visningar · startad av DiDjo

DiDjoMedlem sedan nov. 2002544 inlägg
#1

Tjohej igen :e

Använder följande kod som jag hittade när jag sökte:

Function calcMyAge(strBirthDate)

	strBirthDate = trim(strBirthDate)
	If Len(strBirthDate) > 0 Then
		calcMyAge = int(datediff("d",cDate(strBirthDate),date())/365.25)
	End If

End Function

gammal = rs("fodd")

Fungerar fin fint på profil sidan... men inte i sökfunktionen... då får jag detta fel:

Microsoft VBScript compilation error '800a03ea' 

Syntax error 

/kommun/!temp/sok_resultat.asp, line 85 

Function calcMyAge(strBirthDate)
^

Koden går ut på att räkna ut åldern från ett datum (t.ex 1990-02-26)

Koden ligger innanför loopen, så de kan inte bero på de

solbulleMedlem sedan mars 20015 287 inlägg
#2

Visa lite mer kod runt omkring, det förefaller inte riktigt som om det är just där det eg. felet ligger tycker jag.

DiDjoMedlem sedan nov. 2002544 inlägg
#3

okej... skickar med all kod på sidan... utom de som skriver ut... trodde de var den koden, eftersom det gick innan :)

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("----")
Set rs = Server.CreateObject("ADODB.Recordset")

'detta kommer jag byta ut innom kort... när jag bygger vidare på koden...
val = Request.Form("val") 
If val = "namn" Then
SQL = "Select * From gaster Where namn Like '%%" & Request.Form("namn") & "%%'"
ElseIf val = "username" Then
SQL = "Select * From gaster Where gnamn Like '%%" & Request.Form("username") & "%%'"
ElseIf val = "epost" Then
SQL = "Select * From gaster Where mejl Like '%%" & Request.Form("epost") & "%%'"
ElseIf val = "alla" Then
SQL = "Select * From gaster"
ElseIf val = "online" Then
SQL = "Select * From gaster Where inne = true"
End If
sortera = Request.Form("sortera") ' Hämtar hur vi vill sortera resultatet 
If sortera = "latest_in" Then
SQL = SQL & " Order By kom DESC"
ELse
SQL = SQL & " Order By gnamn"
End If

rs.Open SQL, Connect, 3, 3
'

%>
<html>
<BODY BACKGROUND="transparent" BGCOLOR="#D4D4D4" topmargin="1" leftmargin="1">
<link rel="stylesheet" href="stil.css" type="text/css">
<p align="center"><b><font size="1" face="Verdana">Sök Resultat</font></b></p>
<font size="1"><tr>
    <td bgcolor="f0f0f0" width="600">
  </font>
  <strong style="font-weight: 400"> 
  <font face="Verdana, Arial, Helvetica, sans-serif" size="2">
  <table width="462" border="0" cellspacing="0" cellpadding="2" height="28">
<%
DO Until rs.EOF OR X = 50
X=X+1
if not isdate(rs("kom")) then
datum = "Aldrig"
else

    if len(Hour(rs("kom"))) = 1 then
      intHour = "0"&Hour(rs("kom"))
    else
      intHour = Hour(rs("kom"))
    end if

    if len(Minute(rs("kom"))) = 1 then
      intMinute = "0"&Minute(rs("kom"))
    else
      intMinute = Minute(rs("kom"))
    end if

    strDatum = intHour & ":" & intMinute 

datum = FormatDateTime(rs("kom"), vbLongDate) & " kl " & strDatum
end if

Function calcMyAge(strBirthDate)

	strBirthDate = trim(strBirthDate)
	If Len(strBirthDate) > 0 Then
		calcMyAge = int(datediff("d",cDate(strBirthDate),date())/365.25)
	End If

End Function

gammal = rs("fodd")
%>
<SCRIPT language="JavaScript">
<!--
function <%=rs("gnamn")%>() 
{
open("bild_visa.asp?vem=<%=rs("gnamn")%>" , "bild" , "toolbar=no,scrollbars=yes,resizable=yes,width=300,height=400"); 
}
//-->
</SCRIPT>

<font size="1"> </font> </font>
<tr> 
<td width="68" height="12" style="border-bottom-style: solid; border-bottom-width: 1"><font face="Verdana" size="1">
                 <a href="javascript:<%=rs("gnamn")%>()"> <img src="<%=rs("bild")%>" width="55" height="72" border="1"></a></td>
<td width="200" height="12" style="border-bottom-style: solid; border-bottom-width: 1"><font face="Verdana"><b><a href="hem.asp?vem=<%=rs("gnamn")%>"><%=rs("gnamn")%></a><%if rs("sex") = "Kille" then%>  P<%else%>  F<%end if%><%=rs("alder")%></b><br><br>
<b>Namn:</b> <%=rs("namn")%><br>
<b>Ålder:</b> <%=calcMyAge(gammal)%><br>
<b>Stad:</b> <%=rs("ort")%></font></td>
<td width="341" height="12" style="border-bottom-style: solid; border-bottom-width: 1"><font face="Verdana"><br>
<b>Status:</b> <%if rs("inne") = True then%><img border="0" src="bilder/online.jpg" width="8" height="8"><b>
<font color="#669900">Online</font></b><%else%><img border="0" src="bilder/offline.jpg" width="8" height="8"> <font color="#FF0000"><b>Offline</b></font><%end if%><br>
<b>Online:</b> <%=rs("tid")%> min<br>
<b>Senast:</b> <%=datum%><br>
<b>Medlem:</b> <%=rs("reggad")%></font></td>
</tr>

<%
rs.MoveNext
Loop

rs.Close
Connect.Close
Set rs = nothing
Set Connect = nothing
%>

Sen under är de bara html... och ovanför är det bara kontroller för att man fortfarande är inloggad :)

cyprysMedlem sedan dec. 20003 563 inlägg
#4

Du ska lägga själva funktionen utanför loopen och bara anropa den i loopen.

solbulleMedlem sedan mars 20015 287 inlägg
#5

Ungefär samma sak med din javascriptsfunktion, onödigt att plita ut i princip samma funktion gång på gång.

DiDjoMedlem sedan nov. 2002544 inlägg
#6

Tackar! :e

Men Javascriptet måste ligga innaför... det gick inte annars... den tog bara den första i loopen då, och användes till alla

cyprysMedlem sedan dec. 20003 563 inlägg
#7

Jo, men ge den ett functionsnamn istället för ett nytt namn varje gång den anropas.
Själva idén med att ha en funktion försvinner liksom om du bara kan använda den en gång.

DiDjoMedlem sedan nov. 2002544 inlägg
#8

okej, då ska jag göra så!

Tack allihopa :)

138 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)