webForumDet fria alternativet

Automatisk länkning

ASP

17 svar · 240 visningar · startad av fredrik99

Medlem sedan maj 2000426 inlägg
Frågan#1

Jag har ett nyhetsscript i en databas.
När jag skriver en nyhet så är det rätt jobbigt att hålla på att länka en massa ord. Därför har jag gjort en ny tabell, och där jag har jag fälten: namn och url. Jag undrar hur man automastiskt länkar.
Ex: skriver man nokia i en nyhet så ska den automatiskt bli länkad till nokias hemsida.

[Redigerat av fredrik99 den 01 jun 2000]

Medlem sedan mars 20001 266 inlägg
#2

Låter ju precis som det mikrodatorn avvände i ett exempel.
Kolla idg.se/mikrodatorn leta efter nyhetspublicering

Andreas

Medlem sedan maj 2000426 inlägg
#3

Har laddat hem det...ändrade i global.asa som det stod på deras hemsida.. men det funkar ändå inte..
Varför?

Medlem sedan dec. 19998 577 inlägg
#4

Lite kod skulle inte skada...

------------------
        )|(
       (o o)
-oo0-(_)-0oo-----
webeye.nu *hem*
vide@4sale.se

Medlem sedan maj 2000426 inlägg
#5

Global.asa
ser ut så här:

<SCRIPT LANGUAGE=VBScript RUNAT=Server> 
Sub Session_OnStart 
Set Connection = Server.CreateObject("ADODB.Connection") 
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\new\news.mdb" 
SQLStmt = "SELECT Namn, Url FROM links" 
Set RS = Connection.Execute(SQLStmt) 
Session("MyArray") = RS.GetRows() 
RS.Close 
Connection.Close 
End Sub

</SCRIPT> 
<SCRIPT LANGUAGE=VBScript RUNAT=Server> 
Sub Application_OnStart 
Application("NewsDatabasePath")= "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\new\news.mdb" 
End Sub 
</SCRIPT> 
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnEnd
End Sub
</SCRIPT>
Medlem sedan maj 2000269 inlägg
#6

Varför krångla?.
Här har jag satt ihop ett fint litet script till dig.
Har märkt att många programmerare försöker göra koden så invecklad
som möjligt bara för att dom ska verka duktiga. Men jag tycker man
ska hålla koden så enkel och kort som möjligt. Det är bättre.
Lycka till.

I tabellen "textbank" kan du lägga in sökord som scriptet letar i.

databasnamn = "databasen" i samma mapp
tabellnamn = "textbank"
fält = "namn" och "url" ("namn"=sökord, "url"=adressen till sökordet)


<%
nyhetstexten=request.form("nyhetstext")

A=SERVER.MAPPATH("./")&"\databasen.mdb"   
Set databas = Server.CreateObject("ADODB.Connection")
databas.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&A
set poster=databas.execute("SELECT * FROM textbank")

nyhetstexten=SPLIT(nyhetstexten)

FOR x=0 TO UBOUND(nyhetstexten)
DO UNTIL poster.eof=true
IF poster.fields("namn")=nyhetstexten(x) THEN 
nyhetstexten(x)="<A HREF="&poster.fields("url")&">"&nyhetstexten(x)&"</A>"
END IF
poster.movenext
LOOP
poster.movefirst
NEXT

Set poster=Nothing
databas.Close
set databas=Nothing

nyhetstexten=JOIN(nyhetstexten)

response.write("<PRE>"&nyhetstexten&"<PRE>")

%>
Medlem sedan maj 2000269 inlägg
#7

Glöm inte "ID" (räknare) i tabellen "textbank"

Medlem sedan dec. 19998 577 inlägg
#8

Har märkt att många programmerare försöker göra koden så invecklad
som möjligt bara för att dom ska verka duktiga.

Nja vissa kanske gör det... men min kod brukar jag göra så att man lätt kan utvekla den vid ett senare tillfälle. Detta kan i många fall göra så att koden ser mer komplicerad ut, men den gör samtidigt det lättare i framtiden... Så att göra koden komplicerad bara för syns skull kan jag inte hålla med om...

------------------
        )|(
       (o o)
-oo0-(_)-0oo-----
webeye.nu *hem*
vide@4sale.se

Medlem sedan maj 2000269 inlägg
#9

He he, det var inte riktat till nån härinne.

Medlem sedan maj 2000426 inlägg
#10

Danmagnus>>
Den koden som du har gjort, hur ska den sparas? fö det ska funka.
som global.asa eller?

Medlem sedan maj 2000269 inlägg
#11

hmmm du torde lära dig lite om ASP. annars blir det jobbigt att helt och hållet skriva script åt dig.

du använder INSERT INTO nyhetstexten
efter JOIN raden

tycker det är lite konstigt det här med global.asa ... jag har gjort dussintals script, allt från chattar till register,forum, och jag har aldrig någonsin använt global.asa.

Medlem sedan dec. 19996 721 inlägg
#12

Ingen bra idé att lägga en potentiellt stor array som sessionsvariabel. Inte bra alls.

[Redigerat av emission den 02 jun 2000]

Medlem sedan apr. 20007 588 inlägg
Medlem sedan maj 2000269 inlägg
#14

Vadå?!..
här får du ett litet förbättrat script.

<%
nyhetstexten=request.form("nyhetstext")

A=SERVER.MAPPATH("./")&"\databasen.mdb"   
Set databas = Server.CreateObject("ADODB.Connection")
databas.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&A
set poster=databas.execute("SELECT * FROM textbank")

DO UNTIL poster.eof=true
nyhetstexten=REPLACE(nyhetstexten,poster.fields("namn"),"<A HREF="&poster.fields("url")&">"&poster.fields("namn")&"</A>")
poster.movenext
LOOP

Set poster=Nothing
databas.Close
set databas=Nothing

response.write("<PRE>"&nyhetstexten&"<PRE>")
%>
Medlem sedan maj 2000269 inlägg
#15

OBS REPLACE raden blev så stor att den sista biten hamnade på raden under.

Medlem sedan maj 2000269 inlägg
#16

OBS REPLACE raden blev så stor att den sista biten hamnade på raden under.

Medlem sedan maj 2000269 inlägg
#17

observera att REPLACE raden blev så stor att den den sista biten hamnade på raden inunder

Medlem sedan dec. 19996 721 inlägg
#18

Ja...du säger det ;)

256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)