Avatar billede intrique Nybegynder
20. oktober 2002 - 01:17 Der er 9 kommentarer og
1 løsning

Læs 5 Linjer af tekst

Jeg har en database med noget tekst i. Men når den skal vises skal den kun hive de første 2-3-4-5 linjer ud af teksten. Feks

"Jeg
er meget
idiotisk"

skal den måske kun hive

Jeg
er meget [..]

Ud. Håber i forstår.. det burde være ret simpelt.,. er ikke bare ikke sikker på hvordna man opnår det. :\
Avatar billede thomas_regin Nybegynder
20. oktober 2002 - 02:22 #1
Hejsa,

Det kan man desværre ikke gøre!

Men til gengæld kan du gøre således:

strSQL = "Select textField from Database where ID = dinID"
set rs = dbconn.execute(strSQL)

response.Write left(rs("textField"),200) & "..."

På den måde skriver du kun de 200 første tegn af indholdet af "textfield". Det er blandt andet sådan man laver de "berømte" teaser-artikler hvor man skriver starten af en artikel, og så skriver "Læs mere"... til sidst!

Håber at det var noget i den stil du mente!

Mvh,

Thomas Regin.
Avatar billede 1409 Praktikant
20. oktober 2002 - 02:27 #2
Du kan gøre det i PHP:
$rest = substr("abcdef", 0, 4); // returns "abcd"
$rest = substr("abcdef", 0, 8); // returns "abcdef"
Se: http://www.php.net/manual/en/function.substr.php

Eller i db'en (MySQL):
SELECT SUBSTRING(tekst,0,100)
Altså, 0=vi starter udtrækket fra tekst fra position 0 og vi vil have de første 100 karaktere af "tekst".
Se manualen under String Functions
Avatar billede 1409 Praktikant
20. oktober 2002 - 02:29 #3
Det var dog tåbeligt af mig! Jeg roder PHP/MySQL sammen med ASP!
Sorry!!!
Avatar billede hossein Nybegynder
20. oktober 2002 - 12:05 #4
Det kan være måske en løsning at læse fra en text fil:
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")

Set f=fs.OpenTextFile(Server.MapPath("minTest.txt"), 5) 'her bestemmes antal linier
Response.Write(f.ReadLine)
f.Close

Set f=Nothing
Set fs=Nothing
%>
Avatar billede thomas_regin Nybegynder
20. oktober 2002 - 16:08 #5
Hossein,

Det er ikke for at være kværulerende, men du bestemmer da ikke antal linier i din OpenTextFile-metode, så bare lige for at eliminere evt. misforståelser:

Syntaxen for OpenTextFile er

OpentextFile(
string Path,
integer property Input/Output (ReadOnly/Write/Append),
boolean property Create (Skal filen oprettes, hvis den ikke eksisterer)
string property Format (Formatet af filen. F.eks UTF-8)
)

Den eneste måde jeg kender, for at hive et specifikt antal linier ud af en fil er flg:

for i = 1 to 5
  tf.ReadLine
Next

Med venlig hilsen,

Thomas Regin.
Avatar billede hossein Nybegynder
20. oktober 2002 - 21:19 #6
Tak Thomas, du har ret.
vh Hossein
Avatar billede dr-data Nybegynder
21. oktober 2002 - 13:07 #7
kan man ikke bare lave et loop gennem rs("textfield") ??

i = 0
For EACH linie In Split(rs("textfield"), VBCrLf)
i = i + 1
If i <= 5 Then Response.write linie & "<BR>" & VBCrLf
Next
Avatar billede intrique Nybegynder
24. oktober 2002 - 13:43 #8
Thomas, hvis du lige gider skrive lidt mere udførligt.. ikke helt sikker på hvad du har lavet - og desuden virker det ik :o
Avatar billede thomas_regin Nybegynder
24. oktober 2002 - 15:21 #9
Intrigue,

Okay.. Du eksekverer din SQL som altid med:

strSQL = "BLBLA"
set rs = myConn.execute(strSQL)

Herefter kan du, på det felt, som du vil arbejde med, sætte en grænse på hvor mange karakterer der skal vises:

Response.Write left(rs("MitTekstFelt"),300)

Nu vil den kun skrive 300 karakterer ud fra ovenstående felt.

Hvis du har problemer, så skriv tilbage!

Mvh,

Thomas Regin.
Avatar billede intrique Nybegynder
24. oktober 2002 - 17:52 #10
Fremragende - mange tak :D
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