Avatar billede annettef Nybegynder
12. august 2004 - 16:59 Der er 12 kommentarer og
1 løsning

Hvordan bestemmes det hvilke poster fra en tabel der udeskrives

Hej

Jeg har en tabel i en database som indeholder tekster med tilhørende overskrifter. Jeg vil gerne gerne udskrive en overskrift med tilhørende indhold et sted på min side og længere ned på siden vil jeg så gerne udskrive en anden overskrift med tilhørende indhold.

min tabel er bygget op på følgende måde:

tekstID|tekstKat|overskrift|indhold
1      |kontakt |telefon  |12345678
2      |kontakt |fax      |87654321

Hvordan skriver jeg i min kode at overskrift og indhold med tekstID 2 skal skrives på et sted på siden og så overskrift og indhold med tekstID 1 et andet sted?

Håber mit spørgsmål er til at forstå - det er lidt svært at forklare...

/Annette
Avatar billede phineas_phreak Nybegynder
12. august 2004 - 18:10 #1
hvis det ikke er mere end det der kunne du f.eks. lave 2 x SQL således:

SQL1 = "SELECT * FROM tabelnavn WHERE id = "1"
SQL2 = "SELECT * FROM tabelnavn WHERE id = "2"

Set rs1 = conn.Execute(SQL1)
Set rs2 = conn.Execute(SQL2)



og længere nede kan du så udtrækker på følgende måde:


ting med id 1:

<%= rs1("kontakt") %>
<%= rs1("overskrift") %>
<%= rs1("indhold") %>
ting med id 2:

<%= rs2("kontakt") %>
<%= rs2("overskrift") %>
<%= rs2("indhold") %>
Avatar billede coolstar Nybegynder
13. august 2004 - 08:58 #2
Du kan også lave et loop..

do

'koden her
html her osv.

until.rs.eof <--- og resten af din loop...
Avatar billede locturian Nybegynder
13. august 2004 - 09:01 #3
Phineas, tåbelig fejl i din sql sætning der, men ellers ok idé...
Avatar billede annettef Nybegynder
13. august 2004 - 09:13 #4
Jeg har lavet et billede af hvordan det er jeg gerne vil have at mine data fra tabellen skal skrives ud.

Billedet er her: http://www.ferslev.com/test/layout.htm

Jeg har forsøgt mig frem med et loop, men problemet er at teksterne så altid kommer til at stå det samme sted på siden (jeg vil gerne bruge tabeller i layoutet).

Jeg er i gang med at forsøge mig med Phineas ide, men det tager lige lidt tid for mig, så hvis der er andre der har gode ideer hører jeg dem gerne!

/Annette
Avatar billede locturian Nybegynder
13. august 2004 - 09:34 #5
Hej Anette, lidt underlig struktur, der faktisk kræver flere SQL sætninger.... Faktisk 3. 1 til den øverste del, 1 til det miderste (loop) og 1 til den sidste del...

SQL sætningerne vil se sådan her ud:

StrSQL = "SELECT TOP 1 * FROM dintabel ORDER BY ID DESC
Set Rs1 = conn.execute(StrSQL)
StrSQL = "SELECT * FROM dintabel WHERE ID > MIN(ID) ORDER BY ID DESC"
Set Rs2 = conn.execute(StrSQL)
StrSQL = "SELECT TOP 1 * FROM dintabel WHERE ID < MAX(ID) ORDER BY ID DESC"
Set Rs3 = conn.execute(StrSQL)

Så kan du bruge Rs1 til at trække den første post ud, Rs2 til at lave dit loop, og Rs3 til at skrive den sidste post ud... Ville være meget nemmere hvis du bare havde lavet det "rigtig" så der ikke var så meget besværligt, og blot et stort loop :)

Koden er ikke testet, så håber det virker ;)
Avatar billede locturian Nybegynder
13. august 2004 - 09:35 #6
Rettelse:

StrSQL = "SELECT * FROM dintabel WHERE ID > MIN(ID) AND ID < MAX(ID) ORDER BY ID DESC"
Set Rs2 = conn.execute(StrSQL)
Avatar billede annettef Nybegynder
13. august 2004 - 09:49 #7
Hej Locturian

Hvad mener du med at jeg bare skulle have lavet det rigtigt?

Jeg kigger på din kode lidt senere i dag, og ser om jeg kan finde ud af at få det til at virke, ellers skriver jeg nok igen!

/Annette
Avatar billede locturian Nybegynder
13. august 2004 - 10:07 #8
Rigtigt = Lige ud af landevejen ala:

Overskrift - Nyhed
Overskrift - Nyhed
Overskrift - Nyhed
Overskriv... ect...
Avatar billede annettef Nybegynder
13. august 2004 - 10:22 #9
Okay - jeg er med. Helt almindeligt layout. Problemet er bare at jeg gerne vil have det til at se lidt pænt ud og ikke bare som en lang liste - hvilket jeg har fundet ud af er lidt besværligt...æv æv æv
Avatar billede locturian Nybegynder
13. august 2004 - 10:24 #10
Det kan lade sig gøre med mit eksempel :)
Avatar billede phineas_phreak Nybegynder
13. august 2004 - 11:53 #11
// til locturian

ja den var ikke for god den fejl der :D

så tillad mig lige at rette:

SQL1 = "SELECT * FROM tabelnavn WHERE id=1"
SQL2 = "SELECT * FROM tabelnavn WHERE id=2"


ting med id 1:

<%= rs1("kontakt") %>
<%= rs1("overskrift") %>
<%= rs1("indhold") %>
ting med id 2:

<%= rs2("kontakt") %>
<%= rs2("overskrift") %>
<%= rs2("indhold") %>


sådan nu burde den være der
Avatar billede annettef Nybegynder
16. august 2004 - 11:22 #12
Tak for hjælpen locturian - nu har jeg endeligt fået set på dit løsningsforslag og det virker jo perfekt, lige hvad jeg havde brug for.

/Annette

P.S. Jeg har valgt locturians løsningsforslag fordi jeg synes det er mest overskueligt og nemmest at have med at gøre!
Avatar billede locturian Nybegynder
16. august 2004 - 11:26 #13
Det var da så lidt :) Glad for at jeg kunne hjælpe ;)
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