Avatar billede smt Nybegynder
18. oktober 2000 - 22:43 Der er 9 kommentarer og
1 løsning

Redigering i søgescript

Jeg har et søge script, som jeg gerne vil have rettet lidt i.

Scriptet kan downloades her:
www.sejs.dk/soeg.zip (fylder ca. 10kb)

Det er et meget simpelt script, som  jeg har fundet et eller andet sted på nettet engang.
I en Access 2000 database, kan man indtaste: person navn, url & beskrivelse.
Sådan som det er i dag, skriver en først personens navn, derefter url og til sidst en beksrivelse.
----------------------------------------
Jeg vil gerne have lavet det sådan, så persones navn også er url til siden - ligesom på jubii. Ud for navnet, skal der så være en beskrivelse af siden.
Derud over skal siden åbnes i et nyt vindue, når man klikker på navnet.

Som det sidste, vil jeg gerne have lavet det sådan, at man i databasen, skal kunne sætte et flugeben i et felt, som så betyder at det er et \"plus link\" eller noget i den stil. Det skulle gerne med fører at de link, som man sætter et hak ved, bliver skrevet med fed skrift i browseren.
Som det aller sidste, vil jeg gerne have mulighed for at tilføje links online via browseren (der skal ikke kode på siden til at tilføje, da den kommer ind under mit eget system)
Avatar billede tigerdyr Nybegynder
18. oktober 2000 - 23:07 #1
jamen god fornøjelse :o)
Nåja, lidt hjælp på vejen...
Du skal vist til at redigere i databasen så den indeholder de felter du ønsker dig.
og personensnavn som link er jo blot at lave linket som response.write \"<a href=\"\"\" & rs(\"Url\") & \"\"\">\" & rs(\"Navn\") & \"</a>\"
Så skrives navnet som link (har dog ikke tjekket scriptet for match med feltnavne osv.)

Åbnes i et andet vindue klarer du jo meget nemt ved blot at angive et Target=\"DitAndetVindue\" i
a  tagget... eks. <a href=\"dinside.asp\" target=\"Main\"> link tekst </a>

og \"plus\" link ??
if rs(\"plus\") = True then
  Response.Write \"<b>\" & rs(\"Titel\") & \"</b>\"
else
  Response.Write rs(\"Titel\")
end if
Avatar billede centauri Nybegynder
19. oktober 2000 - 11:02 #2
Her er første del af dit script

Det kræver at du i din databasen tilføjer en record mere der hedder PLUS og sætter den til at være et Yes/No felt.

<HTML>
<HEAD>
<title></title>
</HEAD>
<BODY>

<form action=\"soeg.asp\" method=\"post\">
    <table>
        <tr><td><font face=verdana size=2>Søgeord:</font></td><td><input type=\"text\" name=\"soeg\"></td></tr>
        <tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Søg\">
    </table>
</form>

<%
If Request.Form(\"soeg\") <> \"\" then
    Set DB = Server.CreateObject(\"ADODB.Connection\")
    DBSti = \"DBQ=\" & Server.Mappath(\"soeg.mdb\")
    DB.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBSti
    SQL = \"select * from Soeg where url like \'%\" & Request.Form(\"soeg\") & \"%\' or Navn like \'%\" & Request.Form(\"soeg\") & \"%\'\"
    Set rs = db.Execute (SQL)
    If not rs.eof then
        Response.Write \"<table>\"
          Do until rs.eof         
          IF RS(\"PLUS\") = True then    %>
          <a href=\"<%=rs(\"url\")%>\" target=\"_blank\"><b><%=rs(\"navn\")%></b></a> : <%=rs(\"beskrivelse\")%>
          <%Else%>                       
          <a href=\"<%=rs(\"url\")%>\"target=\"_blank\"><%=rs(\"navn\")%></a> : <%=rs(\"beskrivelse\")%>
            <%END IF%>
            <%
            \'Response.Write \"<tr><td><font face=verdana size=2>\" & rs(\"navn\") & \"<a href=\'http://\" & rs(\"url\") &\"\'></a></font></td><td><font face=verdana size=2>\" & rs(\"beskrivelse\") & \"</font></td><td width=30></td></tr>\"
            rs.movenext
        Loop
        Response.Write \"</table>\"
    Else
        Response.Write \"<b>Prøv igen! ikke noget resultat</b>\"
    End if
End if


%>
</BODY>
</HTML>

Men jeg havde nogle problemer med at skrive URL ud hvis felttypen var MEMO så jeg har ændret den til TEXT og du får nu heller ikke brug for en så stor record type til en URL.
Må shvis det ikke virker hos dig skal du lige ændre det i din database.
Så vil jeg lige se om jeg kan få tid til at lave den sidste del til dig hvordan du opretter.
Avatar billede centauri Nybegynder
19. oktober 2000 - 11:36 #3
Her kommer så resten

------------- add.htm ------------------
<html>

<head>
<meta http-equiv=\"Content-Language\" content=\"da\">
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
<meta name=\"GENERATOR\" content=\"Microsoft FrontPage 4.0\">
<meta name=\"ProgId\" content=\"FrontPage.Editor.Document\">
<title>Navn</title>
</head>

<body>

<form method=\"POST\" action=\"inset.asp\">

  <p>Navn :<input type=\"text\" name=\"Navn\" size=\"20\"></p>
  <p>Url :<input type=\"text\" name=\"URL\" size=\"20\"></p>
  <p>Beskrivelse :<textarea rows=\"2\" name=\"Beskrivelse\" cols=\"20\"></textarea></p>
  <p><input type=\"submit\" value=\"Submit\" name=\"B1\"><input type=\"reset\" value=\"Reset\" name=\"B2\"></p>
</form>

</body>

</html>
---------------- add.htm SLUT ---------------

----------------- inset.asp ----------------
<html>

<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
<meta name=\"GENERATOR\" content=\"Microsoft FrontPage 4.0\">
<meta name=\"ProgId\" content=\"FrontPage.Editor.Document\">
<title>New Page 1</title>
</head>
<%
Navn = request(\"Navn\")
URL = request(\"URL\")
Beskrivelse = request(\"Beskrivelse\")


strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"soeg.mdb\")
Set RS = Server.CreateObject(\"ADODB.Connection\")
RS.Open strDSN
\'RS.Execute( \"INSERT INTO cd (nummer,navn) VALUES (12,\'Test\'); \")
RS.Execute( \"INSERT INTO soeg (Navn,URL,Beskrivelse) values(\" & \"\'\" & request(\"Navn\") & \"\'\" & \",\" & \"\'\" & request(\"URL\") & \"\'\" & \",\" & \"\'\" & request(\"Beskrivelse\") & \"\'\" & \")\")

%>
<body>
Record have been Added
</body>

</html>

----------------- inset.asp Slut--------------

Det er testet og virker fint nok hos mig

Ellers så skriv til F26107@danfoss.com så sender jeg det hele som fil.
Avatar billede smt Nybegynder
19. oktober 2000 - 12:07 #4
>>centauri 
Det virkede fint, dog er der nogle justeringer som jeg gerne vil have lavet...:

Når man søger på en ting, som der er mere end et resultat til, skriver den dem henad i stedet for ned ad, så der kun er et resultat pr. linie.

Jeg har tilføjet et felt der hedder \"PLUS\" i databasen, men jeg for ikke noget felt hvor jeg kan sætte et hak, så det bliver frem hævet.

Det kolon der er i mellem navn og beskrivelse vil jeg herne have skiftet ud med en \"-\"

Hvis du så også kan indsætte et punkttegn ud for hvert resultat, ligesom på jubii.dk - dog vil jeg gerne have den i helt sort.
Avatar billede tigerdyr Nybegynder
19. oktober 2000 - 13:31 #5
IF RS(\"PLUS\") = True then    %>
          <a href=\"<%=rs(\"url\")%>\" target=\"_blank\"><b><%=rs(\"navn\")%></b></a> : <%=rs(\"beskrivelse\") & \"<br>\"%>
          <%Else%>                       
          <a href=\"<%=rs(\"url\")%>\"target=\"_blank\"><%=rs(\"navn\")%></a> : <%=rs(\"beskrivelse\") & \"<br>\"%>
            <%END IF%>

Så skrives linksne i en lang liste nedad...           
Avatar billede centauri Nybegynder
19. oktober 2000 - 14:37 #6
Ok her er så det hele igen

-------------- INSET.ASP-------------------
<html>

<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
<meta name=\"GENERATOR\" content=\"Microsoft FrontPage 4.0\">
<meta name=\"ProgId\" content=\"FrontPage.Editor.Document\">
<title>New Page 1</title>
</head>
<%
PLUS = request(\"PLUS\")
IF PLUS = \"ON\" THEN
PLUS = 1
else
PLUS = 0
END IF

strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"soeg.mdb\")
Set RS = Server.CreateObject(\"ADODB.Connection\")
RS.Open strDSN
\'RS.Execute( \"INSERT INTO cd (nummer,navn) VALUES (12,\'Test\'); \")
RS.Execute( \"INSERT INTO soeg (Navn,URL,Beskrivelse,PLUS) values(\" & \"\'\" & request(\"Navn\") & \"\'\" & \",\" & \"\'\" & request(\"URL\") & \"\'\" & \",\" & \"\'\" & request(\"Beskrivelse\") & \"\'\" & \",\" & \"\'\" & PLUS & \"\'\" & \")\")

%>
<body>
Record have been Added
</body>

</html>
-----------------------------------------------

----------------- ADD.htm -------------------
<html>

<head>
<meta http-equiv=\"Content-Language\" content=\"da\">
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
<meta name=\"GENERATOR\" content=\"Microsoft FrontPage 4.0\">
<meta name=\"ProgId\" content=\"FrontPage.Editor.Document\">
<title>Navn</title>
</head>

<body>

<form method=\"POST\" action=\"inset.asp\">

  <p>Navn :<input type=\"text\" name=\"Navn\" size=\"20\"></p>
  <p>Url :<input type=\"text\" name=\"URL\" size=\"20\"></p>
  <p>Beskrivelse :<textarea rows=\"2\" name=\"Beskrivelse\" cols=\"20\"></textarea></p>
  <p>Plus :<input type=\"checkbox\" name=\"PLUS\" value=\"ON\"></p>
  <p><input type=\"submit\" value=\"Submit\" name=\"B1\"><input type=\"reset\" value=\"Reset\" name=\"B2\"></p>
</form>

</body>

</html>
-------------------------------------------------

--------------------- SOEG.ASP-------------------
<HTML>
<HEAD>
<title></title>
</HEAD>
<BODY>

<form action=\"soeg.asp\" method=\"post\">
    <table>
        <tr><td><font face=verdana size=2>Søgeord:</font></td><td><input type=\"text\" name=\"soeg\"></td></tr>
        <tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Søg\">
    </table>
</form>

<%
If Request.Form(\"soeg\") <> \"\" then
    Set DB = Server.CreateObject(\"ADODB.Connection\")
    DBSti = \"DBQ=\" & Server.Mappath(\"soeg.mdb\")
    DB.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBSti
    SQL = \"select * from Soeg where url like \'%\" & Request.Form(\"soeg\") & \"%\' or Navn like \'%\" & Request.Form(\"soeg\") & \"%\'\"
    Set rs = db.Execute (SQL)
    If not rs.eof then
        Response.Write \"<table>\"
          Do until rs.eof         
          IF RS(\"PLUS\") = True then    %>
          <a href=\"<%=rs(\"url\")%>\" target=\"_blank\"><b><%=rs(\"navn\")%></b></a> : <%=rs(\"beskrivelse\")%><br>
          <%Else%>                       
          <a href=\"<%=rs(\"url\")%>\"target=\"_blank\"><%=rs(\"navn\")%></a> : <%=rs(\"beskrivelse\")%><br>
            <%END IF%>
            <%
            \'Response.Write \"<tr><td><font face=verdana size=2>\" & rs(\"navn\") & \"<a href=\'http://\" & rs(\"url\") &\"\'></a></font></td><td><font face=verdana size=2>\" & rs(\"beskrivelse\") & \"</font></td><td width=30></td></tr>\"
            rs.movenext
        Loop
        Response.Write \"</table>\"
    Else
        Response.Write \"<b>Prøv igen! ikke noget resultat</b>\"
    End if
End if


%>
</BODY>
</HTML>
-------------------------------------------------

Så burde det hele virke som du vil have det
Avatar billede centauri Nybegynder
19. oktober 2000 - 14:43 #7
Hov jeg fik ikke lige det med med et Punktum foran hvert resultat, men det skulle være med her.

--------------------- soeg.asp---------------
<HTML>
<HEAD>
<title></title>
</HEAD>
<BODY>

<form action=\"soeg.asp\" method=\"post\">
    <table>
        <tr><td><font face=verdana size=2>Søgeord:</font></td><td><input type=\"text\" name=\"soeg\"></td></tr>
        <tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Søg\">
    </table>
</form>

<%
If Request.Form(\"soeg\") <> \"\" then
    Set DB = Server.CreateObject(\"ADODB.Connection\")
    DBSti = \"DBQ=\" & Server.Mappath(\"soeg.mdb\")
    DB.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBSti
    SQL = \"select * from Soeg where url like \'%\" & Request.Form(\"soeg\") & \"%\' or Navn like \'%\" & Request.Form(\"soeg\") & \"%\'\"
    Set rs = db.Execute (SQL)
    If not rs.eof then
        Response.Write \"<table>\"
          Do until rs.eof         
          IF RS(\"PLUS\") = True then    %>
          <li><a href=\"<%=rs(\"url\")%>\" target=\"_blank\"><b><%=rs(\"navn\")%></b></a> - <%=rs(\"beskrivelse\")%></li><br>
          <%Else%>                       
          <li><a href=\"<%=rs(\"url\")%>\"target=\"_blank\"><%=rs(\"navn\")%></a> - <%=rs(\"beskrivelse\")%></li><br>
            <%END IF%>
            <%
            \'Response.Write \"<tr><td><font face=verdana size=2>\" & rs(\"navn\") & \"<a href=\'http://\" & rs(\"url\") &\"\'></a></font></td><td><font face=verdana size=2>\" & rs(\"beskrivelse\") & \"</font></td><td width=30></td></tr>\"
            rs.movenext
        Loop
        Response.Write \"</table>\"
    Else
        Response.Write \"<b>Prøv igen! ikke noget resultat</b>\"
    End if
End if


%>
</BODY>
</HTML>
----------------------------------------
Avatar billede smt Nybegynder
19. oktober 2000 - 18:04 #8
ok det virker bare perfekt, men kan jeg lige få dig til at lave en sidste ting (absolut sidste ting) Kan du ikke lave det sådan så hvis det er et plus link, bliver det skrevet med str. 14 i stedet for str. 12
Avatar billede centauri Nybegynder
20. oktober 2000 - 14:48 #9
Sådan så burde den være i vinkel
--------------------- soeg.asp---------------
<HTML>
<HEAD>
<title></title>
</HEAD>
<BODY>

<form action=\"soeg.asp\" method=\"post\">
    <table>
        <tr><td><font face=verdana size=2>Søgeord:</font></td><td><input type=\"text\" name=\"soeg\"></td></tr>
        <tr><td></td><td><input type=\"submit\" name=\"submit\" value=\"Søg\">
    </table>
</form>

<%
If Request.Form(\"soeg\") <> \"\" then
    Set DB = Server.CreateObject(\"ADODB.Connection\")
    DBSti = \"DBQ=\" & Server.Mappath(\"soeg.mdb\")
    DB.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; \" & DBSti
    SQL = \"select * from Soeg where url like \'%\" & Request.Form(\"soeg\") & \"%\' or Navn like \'%\" & Request.Form(\"soeg\") & \"%\'\"
    Set rs = db.Execute (SQL)
    If not rs.eof then
        Response.Write \"<table>\"
          Do until rs.eof         
          IF RS(\"PLUS\") = True then    %>
          <li><font size=\"4\"><a href=\"<%=rs(\"url\")%>\" target=\"_blank\"><b><%=rs(\"navn\")%></b></a> - <%=rs(\"beskrivelse\")%></font></li><br>
          <%Else%>                       
          <li><a href=\"<%=rs(\"url\")%>\"target=\"_blank\"><%=rs(\"navn\")%></a> - <%=rs(\"beskrivelse\")%></li><br>
            <%END IF%>
            <%
            \'Response.Write \"<tr><td><font face=verdana size=2>\" & rs(\"navn\") & \"<a href=\'http://\" & rs(\"url\") &\"\'></a></font></td><td><font face=verdana size=2>\" & rs(\"beskrivelse\") & \"</font></td><td width=30></td></tr>\"
            rs.movenext
        Loop
        Response.Write \"</table>\"
    Else
        Response.Write \"<b>Prøv igen! ikke noget resultat</b>\"
    End if
End if


%>
</BODY>
</HTML>
----------------------------------------
Avatar billede smt Nybegynder
20. oktober 2000 - 22:21 #10
Takker :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester