Låter ju precis som det mikrodatorn avvände i ett exempel.
Kolla idg.se/mikrodatorn leta efter nyhetspublicering
Andreas
17 svar · 240 visningar · startad av fredrik99
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]
Låter ju precis som det mikrodatorn avvände i ett exempel.
Kolla idg.se/mikrodatorn leta efter nyhetspublicering
Andreas
Har laddat hem det...ändrade i global.asa som det stod på deras hemsida.. men det funkar ändå inte..
Varför?
Lite kod skulle inte skada...
------------------
)|(
(o o)
-oo0-(_)-0oo-----
webeye.nu *hem*
vide@4sale.se
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>
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>")
%>
Glöm inte "ID" (räknare) i tabellen "textbank"
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
He he, det var inte riktat till nån härinne.
Danmagnus>>
Den koden som du har gjort, hur ska den sparas? fö det ska funka.
som global.asa eller?
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.
Ingen bra idé att lägga en potentiellt stor array som sessionsvariabel. Inte bra alls.
[Redigerat av emission den 02 jun 2000]
Från ww.4guysfromrolla.com:
This FAQ describes why, exactly, Session variables are the minions of Satan.
:e
------------------
1010011010 - The binary number of the beast
[Redigerat av sgtpepper den 02 jun 2000]
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>")
%>
OBS REPLACE raden blev så stor att den sista biten hamnade på raden under.
OBS REPLACE raden blev så stor att den sista biten hamnade på raden under.
observera att REPLACE raden blev så stor att den den sista biten hamnade på raden inunder
Ja...du säger det ;)