Avatar billede liqido Nybegynder
19. december 2007 - 22:51 Der er 17 kommentarer og
1 løsning

afgrænsning af lang beskrivelse

Nedenstående kode er en liste over en række film, med titel, premiere og beskrivelse og tilhørende billede som man så kan klikke videre ind på og læse mere..

Men nogle af beskrivelserne er alt for lange til at stå på den overordnede liste!

Hvordan afgrænser jeg dette til et x antal ord, også derefter med "prikprikprik(...)" og "Læs mere" bagefter!

Håber I kan hjælpe..

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/kommende-film_db.mdb")
Conn.Open DSN

strSQL = "Select * From kommendefilm Order by Premiere ASC"
Set rs = Conn.Execute(strSQL)

Do
  ' Filmens titel
  strNavn = rs("Titel") & " " & rs("Premiere")

  strID=rs("Id")
  If CreateObject("Scripting.FileSystemObject").FileExists(Server.MapPath("/upload/moviepic/"&strID&".jpg")) Then
      strPic="<img alt=""Filmbillede"" src=""/upload/moviepic/"&strID&".jpg"" width=""135"" height=""199""> "
  Else
      strPic="<img alt=""Intet filmbillede"" src=""/upload/moviepic/nopic.jpg"" width=""135"" height=""199""> "
  End If

  ' Liste med links
Response.Write "<tr valign=""top""><td><a href=""film-x.asp?id="&strID&""">"&strPic&"</a></td><td><a href=""film-x.asp?id="&strID&""">"&strNavn&"</a><br><font size=""2"">"&rs("beskrivelse") &"</font></td></tr>"


  rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
Avatar billede keysersoze Guru
19. december 2007 - 22:58 #1
Response.Write "<tr valign=""top""><td><a href=""film-x.asp?id="&strID&""">"&strPic&"</a></td><td><a href=""film-x.asp?id="&strID&""">"&strNavn&"</a><br><font size=""2"">"
If Len(rs("beskrivelse")) > 20 Then
  Response.Write Left(rs("beskrivelse"),20) & "..."
Else
  Response.Write rs("beskrivelse"),20)
End If
Response.Write "</font></td></tr>"
Avatar billede kabbak Professor
19. december 2007 - 22:58 #2
Et forslag:

If len(rs("beskrivelse") ) > 30 then' maks antal tegn i boksen

Besk = left(rs("beskrivelse"),18)&"... Læs mere"
else

Besk = rs("beskrivelse")
end if

' Liste med links
Response.Write "<tr valign=""top""><td><a href=""film-x.asp?id="&strID&""">"&strPic&"</a></td><td><a href=""film-x.asp?id="&strID&""">"&strNavn&"</a><br><font size=""2"">"&Besk &"</font></td></tr>"
Avatar billede liqido Nybegynder
19. december 2007 - 23:20 #3
prøver dem lige af :D!
Avatar billede liqido Nybegynder
19. december 2007 - 23:31 #4
kabbak dit forslag sletter hele beskrivelsen.. står nu KUN "... Læs mere"
Ikke et X-antal ord af beskrivelse. :S du kan evt. se det her http://www.liqnet.dk/kommendefilm.asp

Keysersoze dit forslag tåher også for mig.. kan slet ikke åbene siden ved den kode.
Avatar billede kabbak Professor
20. december 2007 - 00:13 #5
Den burde virke, jeg kan ikke se hvorfor den ikke virker.
Avatar billede liqido Nybegynder
20. december 2007 - 00:48 #6
okay underligt.. kan du evt se om jeg har sat den forkert ind.. du får lige det hele her. Hvis du ikke ved det, så sig også lige til :) .. Vh Thomas

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/kommende-film_db.mdb")
Conn.Open DSN

strSQL = "Select * From kommendefilm Order by Premiere ASC"
Set rs = Conn.Execute(strSQL)

Do
  ' Filmens titel
  strNavn = rs("Titel") & " " & rs("Premiere")

  strID=rs("Id")
  If CreateObject("Scripting.FileSystemObject").FileExists(Server.MapPath("/upload/moviepic/"&strID&".jpg")) Then
      strPic="<img alt=""Filmbillede"" src=""/upload/moviepic/"&strID&".jpg"" width=""135"" height=""199""> "
  Else
      strPic="<img alt=""Intet filmbillede"" src=""/upload/moviepic/nopic.jpg"" width=""135"" height=""199""> "
  End If

' Liste med links
If len(rs("beskrivelse") ) > 30 then' maks antal tegn i boksen

Besk = left(rs("beskrivelse"),30)&"... Læs mere"
else

Besk = rs("beskrivelse")
end if

' Liste med links
Response.Write "<tr valign=""top""><td><a href=""film-x.asp?id="&strID&""">"&strPic&"</a></td><td><a href=""film-x.asp?id="&strID&""">"&strNavn&"</a><br><font size=""2"">"&Besk &"</font></td></tr>"

  rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
Avatar billede keysersoze Guru
20. december 2007 - 16:39 #7
"kan slet ikke åbene siden ved den kode" - får du en fejl eller?
Avatar billede liqido Nybegynder
20. december 2007 - 17:04 #8
Ja ligepræcis :S Den siger blot "Siden kan ikke vises".
jeg bruger din kode således:

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/kommende-film_db.mdb")
Conn.Open DSN

strSQL = "Select * From kommendefilm Order by Premiere ASC"
Set rs = Conn.Execute(strSQL)

Do
  ' Filmens titel
  strNavn = rs("Titel") & " " & rs("Premiere")

  strID=rs("Id")
  If CreateObject("Scripting.FileSystemObject").FileExists(Server.MapPath("/upload/moviepic/"&strID&".jpg")) Then
      strPic="<img alt=""Filmbillede"" src=""/upload/moviepic/"&strID&".jpg"" width=""135"" height=""199""> "
  Else
      strPic="<img alt=""Intet filmbillede"" src=""/upload/moviepic/nopic.jpg"" width=""135"" height=""199""> "
  End If

Response.Write "<tr valign=""top""><td><a href=""film-x.asp?id="&strID&""">"&strPic&"</a></td><td><a href=""film-x.asp?id="&strID&""">"&strNavn&"</a><br><font size=""2"">"
If Len(rs("beskrivelse")) > 20 Then
  Response.Write Left(rs("beskrivelse"),20) & "..."
Else
  Response.Write rs("beskrivelse"),20)
End If
Response.Write "</font></td></tr>"

  rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
Avatar billede liqido Nybegynder
20. december 2007 - 17:07 #9
Nej den sider faktisk "Webstedet kan ikke vise siden"
Avatar billede keysersoze Guru
20. december 2007 - 17:17 #10
funktioner -> internetindstillinger -> avanceret -> fjern kryds i "vis meddelelse om uskadelige http-fejl"... hvad siger den så`?
Avatar billede liqido Nybegynder
20. december 2007 - 17:24 #11
Argh smart.. Så siger den følgende:

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/kommendefilmye.asp, line 108

Response.Write rs("beskrivelse"),20)
-----------------------------------^
Avatar billede keysersoze Guru
20. december 2007 - 17:36 #12
se - det kan vi bruge til noget :)

Response.Write "<tr valign=""top""><td><a href=""film-x.asp?id="&strID&""">"&strPic&"</a></td><td><a href=""film-x.asp?id="&strID&""">"&strNavn&"</a><br><font size=""2"">"
If Len(rs("beskrivelse")) > 20 Then
  Response.Write Left(rs("beskrivelse"),20) & "... læs mere"
Else
  Response.Write rs("beskrivelse")
End If
Response.Write "</font></td></tr>"
Avatar billede liqido Nybegynder
20. december 2007 - 17:43 #13
ja det blev det godt nok noget bedre.. Men nu giver den samme resultat som det ved kabbak. Med at der slet ikke står noget af beskrivelsen nu.. KUN Læs mere..der skulle jo også stå lidt beskrivelse..
Se det her http://www.liqnet.dk/kommendefilm.asp ..
Avatar billede keysersoze Guru
20. december 2007 - 20:06 #14
så prøv dette;

Response.Write "<tr valign=""top""><td><a href=""film-x.asp?id="&strID&""">"&strPic&"</a></td><td><a href=""film-x.asp?id="&strID&""">"&strNavn&"</a><br><font size=""2"">"
BESK = rs("beskrivelse")
If Len(BESK ) > 20 Then
  Response.Write Left(BESK ,20) & "... læs mere"
Else
  Response.Write BESK
End If
Response.Write "</font></td></tr>"
Avatar billede liqido Nybegynder
21. december 2007 - 11:49 #15
perfekt.. danke ..

Jeg er lidt forvirret i dette kodning.. Er helt ny i asp ;)
Men hvis jeg vil have dettee "Læs mere" til at være et link til den videre side. Hvordan er det så lige jeg får det flettet ind?
Avatar billede keysersoze Guru
21. december 2007 - 20:18 #16
Response.Write "<tr valign=""top""><td><a href=""film-x.asp?id="&strID&""">"&strPic&"</a></td><td><a href=""film-x.asp?id="&strID&""">"&strNavn&"</a><br><font size=""2"">"
BESK = rs("beskrivelse")
If Len(BESK ) > 20 Then
  Response.Write Left(BESK ,20) & "... <a href=""film-x.asp?id="&strID&""">læs mere</a>"
Else
  Response.Write BESK
End If
Response.Write "</font></td></tr>"
Avatar billede liqido Nybegynder
22. december 2007 - 10:53 #17
kanon!..
Opretter du ikke et svar? nu har jeg jo point ude.
Avatar billede keysersoze Guru
22. december 2007 - 12:27 #18
svar :)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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