01. juli 2002 - 21:06
Der er
13 kommentarer og 1 løsning
En lille problem...
Jeg har lavet en nyhedssystem som jeg ikke er helt tilfreds med.
Jeg vil har sådan en side som dette:
http://www.udvikleren.dk/vis_artikler.php4?kat=7 Som viser en lille referat på omkring 255 ord.
Hjælp mig venner :-)
Annonceindlæg fra HP
Så kan du bruge: dintekst = RS("nyhed") dintekst = left(dintekst,250) hvor 250 er det antal tegn du vil vise af hele teksten.
Hvis du vil have eks. 3 punktummer efter teksten hvis den er længere end 250 tegn kan du gøre sådan her: dintekst = RS("nyhed") If len(dintekst)>250 Then dintekst = left(dintekst,250) & "..." Else dintekst = dintekst End if
Jeg bruger denne koder:<% Response.Write Record("nyhed")%> til at henter hele nyheden. Men nu vil jeg have 255 ord fra databasen. Nyhedssystemet virker fint!
Ja, så bruger du: dintekst = Record("nyhed") If len(dintekst)>250 Then dintekst = left(dintekst,250) & "..." Else dintekst = dintekst End if Og der hvor du vil have udskrevet en del af nyheden skriver du bare: <%=dintekst%>
Jeg forståd det ikke hvad mener du med din tekst? Teksten er fra databasen: Sådan ser koden der henter nyhederne: <% Response.Buffer = True ' Connection til database Set Con = Server.CreateObject("ADODB.Connection") DBPath = "DBQ=" & server.mappath("nyheder.mdb") Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath ' Her hiver vi indholdet af databasen ud, sorterer dem efter dato Sql = "SELECT * FROM nyheder ORDER BY Dato DESC" Set Record = Con.Execute(Sql) %> <html> <head> <meta http-equiv=Content-Language content=ar-sa> <meta http-equiv=Content-Type content=text/html; charset=windows-1256> </head> <body> <table border="0" cellspacing="0" width="550"> <tr><td><font size="1" face="Verdana"> </font></td></tr> <!-- Her nedenunder smider vi saa nyhederne ud i en tabel --> <% Do While Not Record.EOF %> <td><font size="1" face="Verdana"><% Response.Write Record("Dato")%></font></td> <td align="right"><font size="1" face="Verdana">Fra <i><% Response.Write Record("Forfatter")%></i></font></td> <tr> <td colspan="2"><font size="1" face="Verdana"><% Response.Write Record("nyhed")%></font></td> </tr> <tr><td><font size="1" face="Verdana"> </font></td></tr> <% Record.MoveNext Loop %> <!-- Og her har den saa gjort det, og vi kan afslutte dokumentet --> </table> </body> </html> <% ' Lukke connection Con.Close Set Con = Nothing %>
<% Response.Buffer = True ' Connection til database Set Con = Server.CreateObject("ADODB.Connection") DBPath = "DBQ=" & server.mappath("nyheder.mdb") Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath ' Her hiver vi indholdet af databasen ud, sorterer dem efter dato Sql = "SELECT * FROM nyheder ORDER BY Dato DESC" Set Record = Con.Execute(Sql) %> <html> <head> <meta http-equiv=Content-Language content=ar-sa> <meta http-equiv=Content-Type content=text/html; charset=windows-1256> </head> <body> <table border="0" cellspacing="0" width="550"> <tr><td><font size="1" face="Verdana"> </font></td></tr> <!-- Her nedenunder smider vi saa nyhederne ud i en tabel --> <% Do While Not Record.EOF %> <td><font size="1" face="Verdana"><% Response.Write Record("Dato")%></font></td> <td align="right"><font size="1" face="Verdana">Fra <i><% Response.Write Record("Forfatter")%></i></font></td> <tr> <td colspan="2"><font size="1" face="Verdana"><% Response.Write left(Record("nyhed"),250) & "..."%></font></td> </tr> <tr><td><font size="1" face="Verdana"> </font></td></tr> <% Record.MoveNext Loop %> <!-- Og her har den saa gjort det, og vi kan afslutte dokumentet --> </table> </body> </html> <% ' Lukke connection Con.Close Set Con = Nothing %>
Med dintekst, så mente jeg den tekst som du henter fra databasen. Eks.: Nu kalder jeg teksten for "nyhed". <!-- Her nedenunder smider vi saa nyhederne ud i en tabel --> <% Do While Not Record.EOF 'Først hentes nyhedsteksten, og kaldes herefter for "nyhed". nyhed = Record("nyhed") 'Så tjekkes der om nyheden er mere end 250 karakterer lang. If len(nyhed)>250 Then 'Hvis det er tilfældet, skal nyhedsteksten forkortes og tilføjes 3 prikker nyhed = left(nyhed,250) & "..." Else ' Ellers skal nyheden bare udskrives i sin fulde længde. nyhed = nyhed End if%> <td><font size="1" face="Verdana"><% Response.Write Record("Dato")%></font></td> <td align="right"><font size="1" face="Verdana">Fra <i><% Response.Write Record("Forfatter")%></i></font></td> <tr> <%' Her udskrives nyhedsteksten ved bare at udskrive "nyhed"%> <td colspan="2"><font size="1" face="Verdana"><% Response.Write nyhed%></font></td> </tr> <tr><td><font size="1" face="Verdana"> </font></td></tr> <% Record.MoveNext Loop %>
01. juli 2002 - 21:33
#10
Point til a-torsten :-), han kom først med den rigtige løsning.
01. juli 2002 - 21:33
#11
Nå, hvorfor nu det? a-torsten har skrevet det samme som jeg gjorde i mit første svar.
01. juli 2002 - 21:35
#12
Kl. 21:07:48 svarer jeg: dintekst = RS("nyhed") dintekst = left(dintekst,250) hvilket er nøjagtigt det samme som a-torsten har skrevet.
01. juli 2002 - 21:37
#13
Det kunne ik' rigtig forstå skovtrod, det er jeg ked af, men næste gang bliver det dig.
01. juli 2002 - 21:45
#14
Hmmm !! sådan kan det gå skovtrold ;-| Din løsning passede ellers fint !
Kurser inden for grundlæggende programmering