Avatar billede ndh Nybegynder
16. januar 2001 - 09:27 Der er 37 kommentarer og
1 løsning

Søgemaskine til Access database

Jeg har et ASP-script, som udfører en søgning i en accessdb. Mit problem er nu, at efter jeg har sat basen op til at sætte mit søgeresultat ind i en tabel, opstår der en lille sjov ting. Det er, at der nu fremkommer et blankt område, der fylder ca. 20-30 linier før resultatet fremvises. Ydermere vises mine paging-knapper før selve resultatet vises, hvad ikke skal ske. (de skal først vises efter resultatlisten/tabellen.
Response.buffer er sat til true

Den problematiske del af scriptet ser således ud:

strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"test.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
rs.PageSize = 20
rs.AbsolutePage = intPage
intRecCount = rs.PageSize
intPageCount = rs.PageCount

AntalP = rs.RecordCount
Response.write \"<p><b>Din søgning resulterede i \" & AntalP & \" af<br></b></p>\"


Response.Write \"<p><b>Side \" & intPage & \" af \" & intPageCount & \"</b></p><br>\"


count=1+(intPage-1)*rs.PageSize



Response.Write \"<font color=#000000><table border=5>\"
Response.Write \"<cellPadding=0>\"
Response.Write \"<cellSpacing=0>\"
Response.Write \"<tr><th>Nr.</th><th>A-fond</th><th>Arkivbetegnelse</th>\"

Do While Not rs.EOF And intRecCount > 0

Response.Write \"<tr><td><font face= Arial><font size=2>\" & count & \". <a href=\'fuldpost.asp?id=\" & \"</td>\"
Response.Write \"<td><font face= Arial><font size=2>\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & \"</td>\"
Response.Write \"<td><font face= Arial><font size=2><font face= Arial><size=5>\" & \"<a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & rs(\"afond\") & \"  </td>\"
Response.Write \"<td><font face= Arial><font size=2>\" & \"<a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & rs(\"arbet\") & \"</td></tr></b></font></a><br>\"


intRecCount = intRecCount - 1
rs.MoveNext

count=count+1
Loop
End if
If rs.recordcount = 0 then
Response.Write \"<br><br><br><br><b><font size=3>Der er ikke fundet nogle afonds, prøv igen</b><br><br>\"
%>
<p align=\"center\"><a href=\"java script:history.go(-1)\"><font color=\"#000000\"><b>Tilbage</b></font></a></p>
<%
else
rs.Close
Set rs = Nothing
Response.Write \"<p>Gå til side \"
For intNum = 1 To intPageCount

Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intNum & \">\" & intNum & \"</a> \"
Next
Response.Write \"<p>\"
If Clng(intPage) > 1 Then
Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intPage - 1 & \">&lt;&lt;</a>\"
Avatar billede kasseper Nybegynder
16. januar 2001 - 09:52 #1
Har du prøvet at lægge alle dine resultater fra DBog din tekst, i variable før du udskriver dem på siden, altså at du propper al tekst i variable, når du så har loop\'et færdigt udskriver dine variable...
Avatar billede ndh Nybegynder
16. januar 2001 - 09:59 #2
Jeg ved ikke om min forklaring er misvisende. Men scriptet, som jeg indtil nu har vedlagt spørgsmålet er kun en del af det samlede script.

Her er hele scriptet:

<% Response.Buffer = true %>
<html>
<head>
<title>Resultat af søgning</title>
</head>
<body BGCOLOR=\"#ffffff\" TEXT=\"#ffffff\" VLINK=\"#Ffffff\" LINK=\"#Ffffff\" ALINK=\"#06438A\" leftmargin=\"130\" background=\"dlg.jpg\">





<p align=\"center\">

<b>

<font size=6 color=\"#000000\">Resultat af søgning</font>

</b>

<font size=2 color=\"#ffffff\">
<br>



<%
Dim Strfritekst
Dim Strarbet
Dim Strtom
Dim Strogsimpel


strfritekst = Request.querystring(\"fritekst\")
strarbet = Request.querystring(\"arbet\")
strogsimpel = Request.querystring(\"ogsimpel\")

strtom = Strfritekst + strarbet

If Len(strtom) = 0 Then

Response.Clear
Response.Redirect(\"simpel søgning.htm\")

Else

strfritekst = Replace(strfritekst,\"\'\",\"\'\'\")
strarbet = Replace(strarbet,\"\'\",\"\'\'\")
strsimpel = Replace(strogsimpel,\"\'\",\"\'\'\")

End If

intPage = Request(\"page\")
If isNumeric(intPage) = False Or intPage < 1 Then
intPage = 1
End If
Set rs = Server.CreateObject(\"ADODB.RecordSet\")

strSQL = \"SELECT * FROM afond WHERE\"

If Len(strfritekst) > 0 THEN

strSQL = strSQL & \" ((afond LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (saer LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (arbet LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (fodt LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (dod LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (sted LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (yde LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (pakket LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (hylde LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (indsig LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (bem LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (indhold LIKE \'%\" & strfritekst & \"%\'))\"
End if

If Len(strarbet) > 0 Then
If strogsimpel = \"og\" then
strSQL = strSQL & \" AND (arbet LIKE \'%\" & strarbet & \"%\')\"
End if
If strogsimpel = \"eller\" then
strSQL = strSQL & \" OR (arbet LIKE \'%\" & strarbet & \"%\')\"
End if
If strogsimpe = \"ikke\" then
strSQL = strSQL & \" AND NOT (arbet LIKE \'%\" & strarbet & \"%\')\"
End if

End if

strSQL = strSQL & \"ORDER BY afond\"

strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"test.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
rs.PageSize = 20
rs.AbsolutePage = intPage
intRecCount = rs.PageSize
intPageCount = rs.PageCount

AntalP = rs.RecordCount
Response.write \"<p><b>Din søgning resulterede i \" & AntalP & \" afonds<br></b></p>\"


Response.Write \"<p><b>Side \" & intPage & \" af \" & intPageCount & \"</b></p><br>\"


count=1+(intPage-1)*rs.PageSize



Response.Write \"<font color=#000000><table border=5>\"
Response.Write \"<cellPadding=0>\"
Response.Write \"<cellSpacing=0>\"
Response.Write \"<tr><th>Nr.</th><th>A-fond</th><th>Arkivbetegnelse</th>\"

Do While Not rs.EOF And intRecCount > 0

Response.Write \"<tr><td><font face= Arial><font size=2>\" & count & \". <a href=\'fuldpost.asp?id=\" & \"</td>\"
Response.Write \"<td><font face= Arial><font size=2>\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & \"</td>\"
Response.Write \"<td><font face= Arial><font size=2><font face= Arial><size=5>\" & \"<a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & rs(\"afond\") & \"  </td>\"
Response.Write \"<td><font face= Arial><font size=2>\" & \"<a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & rs(\"arbet\") & \"</td></tr></b></font></a><br>\"


intRecCount = intRecCount - 1
rs.MoveNext

count=count+1
Loop
End if
If rs.recordcount = 0 then
Response.Write \"<br><br><br><br><b><font size=3>Der er ikke fundet nogle afonds, prøv igen</b><br><br>\"
%>
<p align=\"center\"><a href=\"java script:history.go(-1)\"><font color=\"#000000\"><b>Tilbage</b></font></a></p>
<%
else
rs.Close
Set rs = Nothing
Response.Write \"<p>Gå til side \"
For intNum = 1 To intPageCount

Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intNum & \">\" & intNum & \"</a> \"
Next
Response.Write \"<p>\"
If Clng(intPage) > 1 Then
Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intPage - 1 & \">&lt;&lt;</a>\"
Else
Response.Write \"&lt;&lt;\"
End If
Response.Write \"&nbsp;\"
If Clng(intPage) < Clng(intPageCount) Then
Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intPage + 1 & \">&gt;&gt;</a>\"
Else
Response.Write \"&gt;&gt;\"
End If
End if
%>
</font>
</body></html>



Avatar billede kasseper Nybegynder
16. januar 2001 - 10:16 #3
Du svarede ikke på mit spg.
Jeg kan se at du udskriver i dit Do While LOOP, har du prøvet at lægge de linier i en variabel og udskrive det til sidst....?
Avatar billede ndh Nybegynder
16. januar 2001 - 10:56 #4
Sorry. Jeg har ikke prøvet at lægge resultater og tekst i variable inden jeg udskriver dem.
Hvordan gør jeg det? Prøv at uddyb
Avatar billede kasseper Nybegynder
16. januar 2001 - 11:30 #5
Et eksempel :
***************************
Som du gør idag :
***************************
var count
count = 0
Do While count < 100
response.write \"Jeg har nu talt til :\" & count & \"<br>\"
count = count + 1
LOOP
--------------------------------------------
***************************
Som du kan gøre :
***************************
Dim count
count = 0
Dim Total_string
Total_string = \"\"
Do While count < 100
Total_string = Total_string & \"<br>Nu har jeg talt til : \" & count
count = count + 1
LOOP
response.write Total_string
---------------------------------------------

Humlen er at du lægger det som du vil have vist når alt er hentet fra basen i en variabel...
Den skriver du så først ud når du har været igennem alle poster...
Nu skriver du jo ud løbende i dit loop...
Avatar billede ndh Nybegynder
16. januar 2001 - 11:44 #6
Kasseper. Idet jeg er en nybegynder i asp-verdenen, kan jeg da ikke få dig til at sætte dit forslag ind i min kode. Jeg har lidt svært ved at se, hvordan jeg selv sætter dit forslag ind.

Hvis dit forslag virker tildeler jeg dig 200 point mere
Avatar billede kasseper Nybegynder
16. januar 2001 - 12:03 #7
Jeg vil gøre forsøget, jeg kan dog ikke afprøve det, da jeg ikke har din Database....
Men jeg gør lige forsøget, hæng på .....
Kasseper
Avatar billede ndh Nybegynder
16. januar 2001 - 12:06 #8
Det lyder godt.

Jeg hænger på!
Avatar billede kasseper Nybegynder
16. januar 2001 - 12:27 #9
Prøv denne her :

**********************************************************************
<% Response.Buffer = true %>
<html>
<head>
<title>Resultat af søgning</title>
</head>
<body BGCOLOR=\"#ffffff\" TEXT=\"#ffffff\" VLINK=\"#Ffffff\" LINK=\"#Ffffff\" ALINK=\"#06438A\" leftmargin=\"130\" background=\"dlg.jpg\">





<p align=\"center\">

<b>

<font size=6 color=\"#000000\">Resultat af søgning</font>

</b>

<font size=2 color=\"#ffffff\">
<br>



<%
Dim Strfritekst
Dim Strarbet
Dim Strtom
Dim Strogsimpel


strfritekst = Request.querystring(\"fritekst\")
strarbet = Request.querystring(\"arbet\")
strogsimpel = Request.querystring(\"ogsimpel\")

strtom = Strfritekst + strarbet

If Len(strtom) = 0 Then

Response.Clear
Response.Redirect(\"simpel søgning.htm\")

Else

strfritekst = Replace(strfritekst,\"\'\",\"\'\'\")
strarbet = Replace(strarbet,\"\'\",\"\'\'\")
strsimpel = Replace(strogsimpel,\"\'\",\"\'\'\")

End If

intPage = Request(\"page\")
If isNumeric(intPage) = False Or intPage < 1 Then
intPage = 1
End If
Set rs = Server.CreateObject(\"ADODB.RecordSet\")

strSQL = \"SELECT * FROM afond WHERE\"

If Len(strfritekst) > 0 THEN

strSQL = strSQL & \" ((afond LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (saer LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (arbet LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (fodt LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (dod LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (sted LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (yde LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (pakket LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (hylde LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (indsig LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (bem LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (indhold LIKE \'%\" & strfritekst & \"%\'))\"
End if

If Len(strarbet) > 0 Then
If strogsimpel = \"og\" then
strSQL = strSQL & \" AND (arbet LIKE \'%\" & strarbet & \"%\')\"
End if
If strogsimpel = \"eller\" then
strSQL = strSQL & \" OR (arbet LIKE \'%\" & strarbet & \"%\')\"
End if
If strogsimpe = \"ikke\" then
strSQL = strSQL & \" AND NOT (arbet LIKE \'%\" & strarbet & \"%\')\"
End if

End if

strSQL = strSQL & \"ORDER BY afond\"

strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"test.mdb\")
rs.Open strSQL, strDSN, 1
Dim MyString
Dim MyEmpty
If Not (rs.BOF Or rs.EOF) Then
rs.PageSize = 20
rs.AbsolutePage = intPage
intRecCount = rs.PageSize
intPageCount = rs.PageCount


AntalP = rs.RecordCount
MyString = \"<p><b>Din søgning resulterede i \" & AntalP & \" afonds<br></b></p>\"
\'Response.write \"<p><b>Din søgning resulterede i \" & AntalP & \" afonds<br></b></p>\"

MyString = MyString & \"<p><b>Side \" & intPage & \" af \" & intPageCount & \"</b></p><br>\"
\'Response.Write \"<p><b>Side \" & intPage & \" af \" & intPageCount & \"</b></p><br>\"


count=1+(intPage-1)*rs.PageSize


MyString = MyString & \"<font color=#000000><table border=5><cellPadding=0><cellSpacing=0><tr><th>Nr.</th><th>A-fond</th><th>Arkivbetegnelse</th>\"
\'Response.Write \"<font color=#000000><table border=5>\"
\'Response.Write \"<cellPadding=0>\"
\'Response.Write \"<cellSpacing=0>\"
\'Response.Write \"<tr><th>Nr.</th><th>A-fond</th><th>Arkivbetegnelse</th>\"

Do While Not rs.EOF And intRecCount > 0
MyString = MyString & \"<tr><td><font face= Arial><font size=2>\" & count & \". <a href=\'fuldpost.asp?id=\" & \"</td>\"
\'Response.Write \"<tr><td><font face= Arial><font size=2>\" & count & \". <a href=\'fuldpost.asp?id=\" & \"</td>\"
MyString = MyString & \"<td><font face= Arial><font size=2>\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & \"</td>\"
\'Response.Write \"<td><font face= Arial><font size=2>\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & \"</td>\"
MyString = MyString & \"<td><font face= Arial><font size=2><font face= Arial><size=5>\" & \"<a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & rs(\"afond\") & \"  </td>\"
\'Response.Write \"<td><font face= Arial><font size=2><font face= Arial><size=5>\" & \"<a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & rs(\"afond\") & \"  </td>\"
MyString = MyString & \"<td><font face= Arial><font size=2>\" & \"<a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & rs(\"arbet\") & \"</td></tr></b></font></a><br>\"
\'Response.Write \"<td><font face= Arial><font size=2>\" & \"<a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & rs(\"arbet\") & \"</td></tr></b></font></a><br>\"


intRecCount = intRecCount - 1
rs.MoveNext

count=count+1
Loop
End if
If rs.recordcount = 0 then
Response.Write \"<br><br><br><br><b><font size=3>Der er ikke fundet nogle afonds, prøv igen</b><br><br>\"
%>
<p align=\"center\"><a href=\"java script:history.go(-1)\"><font color=\"#000000\"><b>Tilbage</b></font></a></p>
<%
else
rs.Close
Set rs = Nothing
MyString = MyString & \"<p>Gå til side \"
\'Response.Write \"<p>Gå til side \"
For intNum = 1 To intPageCount
MyString = MyString & \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intNum & \">\" & intNum & \"</a> \"
\'Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intNum & \">\" & intNum & \"</a> \"
Next
MyString = MyString & \"<p>\"
\'Response.Write \"<p>\"
If Clng(intPage) > 1 Then
MyString = MyString & \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intPage - 1 & \">&lt;&lt;</a>\"
\'Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intPage - 1 & \">&lt;&lt;</a>\"
Else
MyString = MyString & \"&lt;&lt;\"
\'Response.Write \"&lt;&lt;\"
End If
MyString = MyString & \"&nbsp;\"
\'Response.Write \"&nbsp;\"
If Clng(intPage) < Clng(intPageCount) Then
MyString = MyString & \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intPage + 1 & \">&gt;&gt;</a>\"
\'Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intPage + 1 & \">&gt;&gt;</a>\"
Else
MyString = MyString & \"&gt;&gt;\"
\'Response.Write \"&gt;&gt;\"
End If
Response.write MyString
End if
%>
</font>
</body></html>

**********************************************************************


Du må lige melde tilbage med fejl, eller hvad der nu sker !!!

Kasseper
Avatar billede ndh Nybegynder
16. januar 2001 - 12:38 #10
Der sker desværre stadigvæk det samme. Det vil sige, at der opstår tomrum på ca. mellem 20-30 linjer inden tabellen med resultaterne fremkommer.

Jeg har lige prøvet at ændre scriptet således, at resultatet ikke vises i en tabel. Og her fungerer det hele fint!!??
Avatar billede ndh Nybegynder
16. januar 2001 - 12:42 #11
Problemet er at hvis jeg ikke bruger tabellen, ser resultat klodset ud, idet det kan ideholde flere linier!
Avatar billede kasseper Nybegynder
16. januar 2001 - 12:59 #12
ligger den så man kan se den, altså på nettet ?????

Kasseper
Avatar billede kasseper Nybegynder
16. januar 2001 - 13:06 #13
UUUUPPPPSSSS, der er da vist nogle fejl i dine tabel definitioner...
OG det resultere i dine linier....
retter lige fejlen...!
Avatar billede kasseper Nybegynder
16. januar 2001 - 13:10 #14
Den er helt gal, med disse linier :
*******************
Response.Write \"<tr><td><font face= Arial><font size=2>\" & count & \". <a href=\'fuldpost.asp?id=\" & \"</td>\"
Response.Write \"<td><font face= Arial><font size=2>\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & \"</td>\"
Response.Write \"<td><font face= Arial><font size=2><font face= Arial><size=5>\" & \"<a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & rs(\"afond\") & \"  </td>\"
Response.Write \"<td><font face= Arial><font size=2>\" & \"<a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & rs(\"arbet\") & \"</td></tr></b></font></a><br>\"
*******************
f.eks. den første linie afbryder et link tag og putter et <td> ind i. Der er hverken hoved eller hale i disse sætninger. Ret dem og jeg vil æde min gamle hat det vil virke...
Skal jeg hjælpe dig ?
Hvis så så forklar venligst hvordan det skal se ud !

Avatar billede ndh Nybegynder
16. januar 2001 - 13:29 #15
Du må meeeeeget gerne hjælpe mig.

Det skal se således ud.

Scriptet skal tælle posterne op og nummerere dem med løbe nr., som skal stå i tabellens \"felt 1\" . I felt 2 skal rs.afond vises. Mens felt 3 skal bestå af rs.arbet.
Indholdet i felt 2 og 3 skal være links til filen fuldpost.asp, hvor resten af felterne som hører til den respektive post vises.

Ex.:
Felt1    felt2    felt3
1        1015      Test1
2        1020      Test3
3        1250      Test9

Håber du forstår, ellers skriv tilbage!
Avatar billede kasseper Nybegynder
16. januar 2001 - 14:07 #16
Jeg har lidt svært ved at lurer hvordan dine font tags skal fordeles :
hvilken farve og størelse skal felt 1 ha ?
hvilken farve og størelse skal felt 2 ha ?
hvilken farve og størelse skal felt 3 ha ?

Kasseper
Avatar billede ndh Nybegynder
16. januar 2001 - 14:12 #17
Det betyder ikke så meget. Jeg kan selv rette det til senere. Men det kunne f.eks. være sort, ariel, size=2
Avatar billede kasseper Nybegynder
16. januar 2001 - 14:18 #18
Du skal erstate disse linier :
******************************
Response.Write \"<font color=#000000><table border=5>\"
Response.Write \"<cellPadding=0>\"
Response.Write \"<cellSpacing=0>\"
Response.Write \"<tr><th>Nr.</th><th>A-fond</th><th>Arkivbetegnelse</th>\"

Do While Not rs.EOF And intRecCount > 0

Response.Write \"<tr><td><font face= Arial><font size=2>\" & count & \". <a href=\'fuldpost.asp?id=\" & \"</td>\"
Response.Write \"<td><font face= Arial><font size=2>\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & \"</td>\"
Response.Write \"<td><font face= Arial><font size=2><font face= Arial><size=5>\" & \"<a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & rs(\"afond\") & \"  </td>\"
Response.Write \"<td><font face= Arial><font size=2>\" & \"<a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font color=#000000>\" & rs(\"arbet\") & \"</td></tr></b></font></a><br>\"


intRecCount = intRecCount - 1
rs.MoveNext

count=count+1
Loop
*****************************
Med disse :
*****************************
Response.Write \"<table border=\'5\' \"
Response.Write \" cellPadding=\'0\' \"
Response.Write \" cellSpacing=\'0\'>\"
Response.Write \"<tr><th>Nr.</th><th>A-fond</th><th>Arkivbetegnelse</th></tr>\"

Do While Not rs.EOF And intRecCount > 0

Response.Write \"<tr><td><font face=\'arial\' size=\'2\'>\" & count & \".</font></td>\"
REsponse.write \"<td><a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font face=\'arial\' size=\'2\'>\" & rs(\"afond\") & \"</font></a></td>\"
Response.Write \"<td><a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font face=\'arial\' size=\'2\'>\" & rs(\"arbet\") & \"</font></a></td></tr>\"


intRecCount = intRecCount - 1
rs.MoveNext

count=count+1
Loop
response.write \"</table>\"

*******************************
Prøv det engang !
Avatar billede ndh Nybegynder
16. januar 2001 - 14:24 #19
Det ser sgu ud til at virke.
Jeg tjekker det lige igennem her i løbet af eftermiddagen. Og så få du dine 600 point!!
Avatar billede ndh Nybegynder
16. januar 2001 - 17:14 #20
Der er desværre 2 problemer ved dit script.
Det ene er, at det første løbenummer i felt1 (Nr.) er et punktum \".\", og herefter starter nummereringen fra 1 til 19.

Det næste problem er, at scriptet starter med at nummerere forfra, hvis man går til side 2 af søgeresultatet, dvs. de næste 20 poster.
Avatar billede kasseper Nybegynder
16. januar 2001 - 18:59 #21
OK, det er så et andet problem, men jeg kigger på det imorgen tidlig, når jeg kommer tilbage på arbejde.....;)
Avatar billede ndh Nybegynder
16. januar 2001 - 22:02 #22
Det lyder godt!!
Avatar billede kasseper Nybegynder
17. januar 2001 - 10:33 #23
Er det kun nummereringen der går galt, eller er det også posterne der er de samme på side 2.....?
Avatar billede ndh Nybegynder
17. januar 2001 - 10:37 #24
Det er kun nummereringen det er galt med!
Avatar billede kasseper Nybegynder
17. januar 2001 - 10:59 #25
Prøv denne her, og meld tilbage hvad den siger :

***********************************************************

<% Response.Buffer = true %>
<html>
<head>
<title>Resultat af søgning</title>
</head>
<body BGCOLOR=\"#ffffff\" TEXT=\"#ffffff\" VLINK=\"#Ffffff\" LINK=\"#Ffffff\" ALINK=\"#06438A\" leftmargin=\"130\" background=\"dlg.jpg\">





<p align=\"center\">

<b>

<font size=6 color=\"#000000\">Resultat af søgning</font>

</b>

<font size=2 color=\"#ffffff\">
<br>



<%
Dim Strfritekst
Dim Strarbet
Dim Strtom
Dim Strogsimpel


strfritekst = Request.querystring(\"fritekst\")
strarbet = Request.querystring(\"arbet\")
strogsimpel = Request.querystring(\"ogsimpel\")

strtom = Strfritekst + strarbet

If Len(strtom) = 0 Then

Response.Clear
Response.Redirect(\"simpel søgning.htm\")

Else

strfritekst = Replace(strfritekst,\"\'\",\"\'\'\")
strarbet = Replace(strarbet,\"\'\",\"\'\'\")
strsimpel = Replace(strogsimpel,\"\'\",\"\'\'\")

End If


Set rs = Server.CreateObject(\"ADODB.RecordSet\")

strSQL = \"SELECT * FROM afond WHERE\"

If Len(strfritekst) > 0 THEN

strSQL = strSQL & \" ((afond LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (saer LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (arbet LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (fodt LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (dod LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (sted LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (yde LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (pakket LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (hylde LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (indsig LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (bem LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (indhold LIKE \'%\" & strfritekst & \"%\'))\"
End if

If Len(strarbet) > 0 Then
If strogsimpel = \"og\" then
strSQL = strSQL & \" AND (arbet LIKE \'%\" & strarbet & \"%\')\"
End if
If strogsimpel = \"eller\" then
strSQL = strSQL & \" OR (arbet LIKE \'%\" & strarbet & \"%\')\"
End if
If strogsimpe = \"ikke\" then
strSQL = strSQL & \" AND NOT (arbet LIKE \'%\" & strarbet & \"%\')\"
End if

End if

strSQL = strSQL & \"ORDER BY afond\"

strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"test.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
rs.PageSize = 20
intRecCount = rs.PageSize
intPageCount = rs.PageCount
intPage = Request(\"page\")
If isNumeric(intPage) = False Or intPage < 1 Then
count = 1
intPage = 1
else
count = (intPage-1 * rs.PageSize) + 1 
End If
rs.AbsolutePage = intPage
AntalP = rs.RecordCount
Response.write \"<p><b>Din søgning resulterede i \" & AntalP & \" afonds<br></b></p>\"


Response.Write \"<p><b>Side \" & intPage & \" af \" & intPageCount & \"</b></p><br>\"






Response.Write \"<table border=\'5\' \"
Response.Write \" cellPadding=\'0\' \"
Response.Write \" cellSpacing=\'0\'>\"
Response.Write \"<tr><th>Nr.</th><th>A-fond</th><th>Arkivbetegnelse</th></tr>\"

Do While Not rs.EOF And intRecCount > 0

Response.Write \"<tr><td><font face=\'arial\' size=\'2\'>\" & count & \".</font></td>\"
REsponse.write \"<td><a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font face=\'arial\' size=\'2\'>\" & rs(\"afond\") & \"</font></a></td>\"
Response.Write \"<td><a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font face=\'arial\' size=\'2\'>\" & rs(\"arbet\") & \"</font></a></td></tr>\"


intRecCount = intRecCount - 1
rs.MoveNext

count=count+1
Loop
response.write \"</table>\"


End if
If rs.recordcount = 0 then
Response.Write \"<br><br><br><br><b><font size=3>Der er ikke fundet nogle afonds, prøv igen</b><br><br>\"
%>
<p align=\"center\"><a href=\"java script:history.go(-1)\"><font color=\"#000000\"><b>Tilbage</b></font></a></p>
<%
else
rs.Close
Set rs = Nothing
Dim PrevPage, NextPage
PrevPage = intPage - 1
NexPage = intPage + 1
Response.Write \"<p>Gå til side \"
For intNum = 1 To intPageCount

Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intNum & \">\" & intNum & \"</a> \"
Next
Response.Write \"<p>\"
If Clng(intPage) > 1 Then
Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & PrevPage & \">&lt;&lt;</a>\"
Else
Response.Write \"&lt;&lt;\"
End If
Response.Write \"&nbsp;\"
If Clng(intPage) < Clng(intPageCount) Then
Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & NextPage & \">&gt;&gt;</a>\"
Else
Response.Write \"&gt;&gt;\"
End If
End if
%>
</font>
</body></html>

***********************************************************

Avatar billede ndh Nybegynder
17. januar 2001 - 11:12 #26
Den første side af søgeresultatet ser nu fin ud. Den første post nummereres ikke med et punktum mere.

På side 2 nummereres posterne nu fra -17 til 2 og på side 3 fra -16 til 3 osv. Ydermere får jeg følgende fejlmeddelelse, hvis jeg nu bruger >> -tegnet til at bladre en side fremad med:

Der opstod en Microsoft VBScript-kørselsfejl fejl \'800a000d\'

Typerne passer ikke sammen: \'intPage\'

/simpel.asp, linje 94

Denne fejl opstår ikke, når jeg bladrer tilbage
Avatar billede kasseper Nybegynder
17. januar 2001 - 11:17 #27
Er der en mulighed for at du kan sende mig Basen, og filen, så kunne jeg teste det selv inden jeg smider løsningen ind, det er lidt svært skal jeg sige dig at fejlrette på denne måde ;)
Avatar billede ndh Nybegynder
17. januar 2001 - 11:21 #28
Jo, det kan jeg godt. Hvor skal jeg maile den hen?

Hvilken version af asp-filen vil du have?
Avatar billede kasseper Nybegynder
17. januar 2001 - 11:26 #29
Den nyeste version, og mail den til refskou@hotmail.com
Tak, så skal jeg nok få skidtet læavet...
Avatar billede kasseper Nybegynder
17. januar 2001 - 15:15 #30
Har du sendt den ????
Jeg har ikke fået noget ????
Avatar billede ndh Nybegynder
17. januar 2001 - 15:32 #31
Ja, jeg har sendt den før middag.
Jeg har endda ikke fået til den retur. Jeg kan sende den igen, og du kanmaile tilbage, når du har fået den.
Mit db fylder ca. 3.5 MB. Kan hotmail.com have problemer med at modtage filer af den størrelse. Hvis ja, har du en anden emailaccount??
Avatar billede kasseper Nybegynder
17. januar 2001 - 16:23 #32
Joh, nu har jeg fået den, men jeg har til gengæld også fået 2 .vbs filer, som bliver lagt i karantæne, er det noget du kender noget til, de kommer nemli fra din adresse.....!??????
Avatar billede ndh Nybegynder
17. januar 2001 - 16:29 #33
Joh, det kender jeg godt til, men det skal du ikke tage dig - det er firewall´en, og jeg har fikset det. Hvis du vælger, at sende din løsning via email. Send den da til flg. adressse: nih-jac@mail.tele.dk
Avatar billede kasseper Nybegynder
17. januar 2001 - 16:34 #34
firewall\'en ??? sender bare potientielle vira ud ???
Lyder ikke som en særlig pålidelig firewall, anyway, så kigger jeg videre på skidtet, men kan nok
ikke være tilbage med et svar f\'r imorgen...!
Avatar billede kasseper Nybegynder
17. januar 2001 - 16:49 #35
Jeg nåede det....Nu virker skidtet :

Her :
**************************************************
<% Response.Buffer = true %>
<html>
<head>
<title>Resultat af søgning</title>
</head>
<body BGCOLOR=\"#808080\" TEXT=\"#ffffff\" VLINK=\"#Ffffff\" LINK=\"#Ffffff\" ALINK=\"#06438A\" leftmargin=\"130\">





<p align=\"center\">

<b>

<font size=6 color=\"#000000\">Resultat af søgning</font>

</b>

<font size=2 color=\"#ffffff\">
<br>



<%
Dim Strfritekst
Dim Strarbet
Dim Strtom
Dim Strogsimpel


strfritekst = Request.querystring(\"fritekst\")
strarbet = Request.querystring(\"arbet\")
strogsimpel = Request.querystring(\"ogsimpel\")

strtom = Strfritekst + strarbet

If Len(strtom) = 0 Then

Response.Clear
Response.Redirect(\"simpel søgning.htm\")

Else

strfritekst = Replace(strfritekst,\"\'\",\"\'\'\")
strarbet = Replace(strarbet,\"\'\",\"\'\'\")
strsimpel = Replace(strogsimpel,\"\'\",\"\'\'\")

End If


Set rs = Server.CreateObject(\"ADODB.RecordSet\")

strSQL = \"SELECT * FROM afond WHERE\"

If Len(strfritekst) > 0 THEN

strSQL = strSQL & \" ((afond LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (saer LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (arbet LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (fodt LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (dod LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (sted LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (yde LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (pakket LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (hylde LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (indsig LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (bem LIKE \'%\" & strfritekst & \"%\')\"
strSQL = strSQL & \" OR (indhold LIKE \'%\" & strfritekst & \"%\'))\"
End if

If Len(strarbet) > 0 Then
If strogsimpel = \"og\" then
strSQL = strSQL & \" AND (arbet LIKE \'%\" & strarbet & \"%\')\"
End if
If strogsimpel = \"eller\" then
strSQL = strSQL & \" OR (arbet LIKE \'%\" & strarbet & \"%\')\"
End if
If strogsimpe = \"ikke\" then
strSQL = strSQL & \" AND NOT (arbet LIKE \'%\" & strarbet & \"%\')\"
End if

End if

strSQL = strSQL & \"ORDER BY afond\"

strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"test.mdb\")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
rs.PageSize = 20
intRecCount = rs.PageSize
intPageCount = rs.PageCount
intPage = Request.querystring(\"page\")
If isNumeric(intPage) = False Or intPage < 1 Then
count = 1
intPage = 1
else
count = ((intPage - 1) * rs.PageSize) + 1
End If
rs.AbsolutePage = intPage
AntalP = rs.RecordCount
Response.write \"<p><b>Din søgning resulterede i \" & AntalP & \" afonds<br></b></p>\"


Response.Write \"<p><b>Side \" & intPage & \" af \" & intPageCount & \"</b></p><br>\"






Response.Write \"<table border=\'5\' \"
Response.Write \" cellPadding=\'0\' \"
Response.Write \" cellSpacing=\'0\'>\"
Response.Write \"<tr><th>Nr.</th><th>A-fond</th><th>Arkivbetegnelse</th></tr>\"

Do While Not rs.EOF And intRecCount > 0

Response.Write \"<tr><td><font face=\'arial\' size=\'2\'>\" & count & \".</font></td>\"
REsponse.write \"<td><a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font face=\'arial\' size=\'2\'>\" & rs(\"afond\") & \"</font></a></td>\"
Response.Write \"<td><a href=\'fuldpost.asp?id=\" & rs(\"ID\") & \"\' target=\'_blank\'><font face=\'arial\' size=\'2\'>\" & rs(\"arbet\") & \"</font></a></td></tr>\"


intRecCount = intRecCount - 1
rs.MoveNext

count=count+1
Loop
response.write \"</table>\"


End if
If rs.recordcount = 0 then
Response.Write \"<br><br><br><br><b><font size=3>Der er ikke fundet nogle afonds, prøv igen</b><br><br>\"
%>
<p align=\"center\"><a href=\"java script:history.go(-1)\"><font color=\"#000000\"><b>Tilbage</b></font></a></p>
<%
else
rs.Close
Set rs = Nothing
Dim PrevPage, NextPage
PrevPage = intPage - 1
NextPage = intPage + 1

Response.Write \"<p>Gå til side \"
For intNum = 1 To intPageCount

Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & intNum & \">\" & intNum & \"</a> \"
Next
Response.Write \"<p>\"
If Clng(intPage) > 1 Then
Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & PrevPage & \">&lt;&lt;</a>\"
Else
Response.Write \"&lt;&lt;\"
End If
Response.Write \"&nbsp;\"
If Clng(intPage) < Clng(intPageCount) Then
Response.Write \"<a href=simpel.asp?ogsimpel=\" & strogsimpel &\"&fritekst=\" & strfritekst & \"&arbet=\" & strarbet &\"&page=\" & NextPage & \">&gt;&gt;</a>\"
Else
Response.Write \"&gt;&gt;\"
End If
End if
%>
</font>
</body></html>
**********************************************************
Avatar billede ndh Nybegynder
17. januar 2001 - 17:00 #36
Jeg prøver det af i morgen. Jeg sidder nemlig hjemme nu!

På forhånd tak
Avatar billede ndh Nybegynder
18. januar 2001 - 08:50 #37
Det virker sgu. Kanon.

Du får 700 point for besværet. Tak!!
Avatar billede kasseper Nybegynder
18. januar 2001 - 09:14 #38
Selv tak....
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