webForumDet fria alternativet

Hjälp mig snälla !

ASP

17 svar · 460 visningar · startad av ragnared

Medlem sedan apr. 2003152 inlägg
Frågan#1

Jag har en nyhetssida som jag ibland skriver emailadresser och länkar ibland nyheterna, och tyvärr blir det inte automatiskt så att folk kan klicka på det direkt. Hur gör man för att det ska bli möjligt. Så här ser aspscriptet ut:

<%
id = request.querystring("id")
DSNtemp="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtemp=dsntemp & "DBQ=" & server.mappath("databaser/main.mdb")
sqlstmt = "SELECT * FROM nytt where id =" & id & " ORDER BY id DESC"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sqlstmt, DSNtemp, 3, 3
TotalRecs = rs.recordcount

	date1 = rs("pdate")
	date2 = rs("pdate1")
	image1 = rs("image")
	id = rs("id")
	name1 = rs("pentry")
	titel1 = rs("titel")

%>
<div align="center">
<center>

<table border="0" width="448" height="1" cellspacing="10" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0">

<tr>
<td width="444" height="1" valign="top"><b><font face="Verdana" color="#000000" size="2"><% =titel1 %><br></b><font face="Verdana"><font size="1"><% =date1 %></font><font size="1">  <% =date2 %><br><br></font><img SRC="bild/<% =image1%>" VSPACE=0 BORDER=0 ALIGN="RIGHT" ALT="<% =image1%>"><font face="Verdana" size="1"><%response.write replace(name1, vbCrLf, "<br>")%><br><br></td>
</tr>

</table>

Hur och vad ska man lägga koden för att få det fungera och hur gör man ett sådant, går det ??????

Tack snälla på förhand......

Medlem sedan sep. 2000667 inlägg
#2

Ska du hämta flera poster så måste du loppa ut datan.
exempel

response.write "<table>"
Antal=10 ' Hur många vill du visa
do until antal=10 or rs.eof

response.write "<tr><td>'"& titel1 &"'</td></tr>"

Antal = Antal + 1 
rs.movenext
loop
rs.close
Set rs = nothing

response.write "</table>

Du kanske ska använda ORDER BY DATE1 också istället för ID.

Medlem sedan apr. 2003152 inlägg
#3

nej jag menar att den ska känna av texten som hämtas ifrån databasen om det är @ eller en www.hejhopp.com. Och då automatiskt göra den till email klickbar eller www adress klickbar hoppas ni förstår

Medlem sedan sep. 2000667 inlägg
#4

Provade att söka och fann detta.

Medlem sedan apr. 2003152 inlägg
#5

Tack snälla men det har jag redan hittat men jag fattar inte ett dyft hur det fungerar. Vet du det är jag tacksam förhjälp. Vad man ska lägga in det i mitt script...

Medlem sedan mars 20015 287 inlägg
#6

Lägg in hela funktionen som ligger på sidan som ni länkar till, sen behöver du ju bara i utskriften av dina variabler, eller kanske enklare däör du lägger allt i variabler köra funktionen:

date1 = rs("pdate") 
date2 = rs("pdate1") 
image1 = rs("image") 
id = rs("id") 
name1 = convertLink(rs("pentry"))
titel1 = rs("titel")

Om nu då tex name1 innehåller nyheten där länkar kan finnas.

Jag ser inte att du stänger ditt rs, fast du kanske använder det mer längre ner på sidan?

Medlem sedan apr. 2003152 inlägg
#7

Jag provade att lägga in det som du menar men får upp detta meddelande.

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0401)
Slut på programsats förväntas.
/fastighet/boinfo.asp, line 47, column 20
date1 = convertLink rs("pentry")
-------------------^

Du skrev också att det skulle finnas något slut på sidan,vad menar du med det.

Medlem sedan sep. 2000667 inlägg
#8
date1 = convertLink 
rs("pentry")
Medlem sedan sep. 2000667 inlägg
#9

Sorry...
Ska nog vara

date1 = convertLink(rs("pentry"))
Medlem sedan apr. 2003152 inlägg
#10

Jag får då upp detta meddelande:

Körningsfel i Microsoft VBScript (0x800A000D)
Inkompatibla typer: 'convertLink'

Medlem sedan sep. 2000667 inlägg
#11

Har du tagit med en funktion som heter Function convertLink?

Medlem sedan apr. 2003152 inlägg
#12

Vad menar du med det fattar inte det tyvärr

Medlem sedan sep. 2000667 inlägg
#13

Du måste ju ha med en funktion som gör om din data till klickbara länkar. Antar att det är denna som du har följt.

Function convertLink(ByVal strText)
Dim mDelimit
Dim re
mDelimit = Chr(0)
Set re = New RegExp
re.Global = True
re.IgnoreCase = true

re.Pattern = "(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+)"
strText = re.Replace(strText, "<a href=""mailto" & mDelimit & ":$1"">$1</a>")

re.Pattern = "([url]http://[/url]|[url]https://[/url]|[url]ftp://[/url]|mailto:)(\S)(\S+)"
strText = re.Replace(strText, "<a href=""$1$2" & mDelimit & "$3"" target=""_blank"">$2" & mDelimit & "$3</a>")

re.Pattern = "(www\.(\S)(\S+))"
strText = re.Replace(strText, "<a href=""http://$1"" target=""_blank"">$1</a>")
strText = Replace(strText, mDelimit, "")

convertLink=strText

End Function
Medlem sedan sep. 2000667 inlägg
#14

Lägg den i din asp-sida och sen kan du använda dig av

response.write convertLink(rs("pentry"))
Medlem sedan sep. 2000667 inlägg
#15

Lite OT, men om du ska använda dig av <% =date1 %> så kan du lika gärna köra med <%=rs("pdate") %> istället.
Så slipper du skriva:

date1 = rs("pdate")
Medlem sedan apr. 2003152 inlägg
#16

Tack så himla mycket

Medlem sedan sep. 2000667 inlägg
#17

Kul att jag kan hjälpa till ibland och inte bara ställa frågor!
:e

Medlem sedan mars 20015 287 inlägg
#18

ragnared skrev:

...Du skrev också att det skulle finnas något slut på sidan,vad menar du med det.

Kanske syftar du på det jag skrev om att stänga ditt rs?

Typ:

'...diverse kod..

date1 = convertLink(rs("pdate"))
date2 = rs("pdate1") 
image1 = rs("image") 
id = rs("id") 
name1 = rs("pentry") 
titel1 = rs("titel") 

DSNtemp.close
set DSNtemp = nothing
set rs = nothing

%>
... mera kod...
254 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)