Avatar billede steen_hansen Forsker
18. februar 2002 - 22:58 Der er 28 kommentarer og
1 løsning

Vise alle indlæg fra tabel i den rækkefølge de bliver postet?

Hvordan laver jeg det? Det er sådan set efter samme princip, som alle indlæg bliver vist i den rækkefølge, som de bliver vist på, her på eksperten.

Jeg har denne kode:

<table border="0" cellpadding="6" cellspacing="0" width="100%" bgcolor="#EEEEEE">
<tr>
<td width="100%" valign="top" align="left">
<table border="0" cellpadding="6" cellspacing="0" width="100%">
<tr>
<td colspan="2">
<span class="overskrift17">Seneste 5 indlæg i Debatten:</span><br>
<img src="/images/bundlinie.gif" border="0" alt="">
</td>
</tr>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb")
Conn.open dbConn

SQL = "SELECT FROM debat"
Set RS = Conn.Execute( SQL )

'while NOT RS.EOF
text=RS("kommentar")
text = replace(text,vbcrLF,"<br>")
response.write "<tr><td><span class=""tekst11""><b>" & "Forfatter: " & "</b></span>" & "<span class=""tekst11""><i>" &  RS("nick") & "</i></span></td></tr>"
response.write "<tr><td><span class=""tekst11""><b>" & "Emne: " & "</b>" & "<i>" & RS("emne") & "</i>" & "</span></td></tr>"
response.write "<tr><td colpan=""2""><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"
RS.MoveNext
text=""
'wend

RS.Close
Set RS = nothing
Conn.Close
Set Conn = nothing           
%>

</table><br>
</td>
</tr>
</table>

Det giver flg. fejlmeddelelse, nok fordi jeg også har nogle text-felter og et text-area på samme side?

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.

/front/top_debate2.asp, line 18
Avatar billede keysersoze Ekspert
18. februar 2002 - 23:06 #1
prøv;

SQL = "SELECT * FROM [debat]"
Avatar billede s_raagaard Nybegynder
18. februar 2002 - 23:06 #2
Du mangler noget i din SELECT:

SQL = "SELECT * FROM debat"

eller

SQL = "SELECT kommentar,nick,emne FROM debat"


/s
Avatar billede steen_hansen Forsker
18. februar 2002 - 23:45 #3
Det var NÆSTEN noget, der virkede:

SQL = "SELECT nick,emne,kommentar FROM debat"

Men jeg får kun vist forfatterens navn og emnet. Kommentar bliver udeladt :o(

Og jeg får ikke vist næste indlæg, når jeg indtaster et.
Avatar billede keysersoze Ekspert
18. februar 2002 - 23:59 #4
du har sat plinger (') nogle steder - fjern dem da de betyder at linien ikke vil blive udført... og det er netop de linier der looper

grundet til at kommentaren ikke kommer med er simpelthen at du ikke udskriver den nogle steder - " & text & " skal sættes ind der hvor den skal udskrives
Avatar billede steen_hansen Forsker
19. februar 2002 - 00:07 #5
<%
Set Conn = Server.CreateObject("ADODB.Connection")
dbConn = "SERVER=Local;DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/fpdb/include.mdb")
Conn.open dbConn

'SQL = "SELECT FROM [debat]" (virker ikke)
SQL = "SELECT nick, emne, kommentar FROM debat"
Set RS = Conn.Execute( SQL )

while NOT RS.EOF
text=RS("kommentar")
text = replace(text,vbcrLF,"<br>")
response.write "<tr><td><span class=""tekst11""><b>" & "Forfatter: " & "</b></span>" & "<span class=""tekst11""><i>" &  RS("nick") & "</i></span></td></tr>"
response.write "<tr><td><span class=""tekst11"">" & RS("kommentar") & "</span></td></tr>"
response.write "<tr><td colpan=""2""><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"
RS.MoveNext
text=""
wend

RS.Close
Set RS = nothing
Conn.Close
Set Conn = nothing
%>

Sådan ser den ud nu. Men recordsettet hedder jo "kommentar" og ikke "text"?
Avatar billede steen_hansen Forsker
19. februar 2002 - 00:11 #6
Den bliver da udskrevet her?

response.write "<tr><td><span class=""tekst11"">" & RS("kommentar") & "</span></td></tr>"
Avatar billede keysersoze Ekspert
19. februar 2002 - 00:22 #7
'SQL = "SELECT FROM [debat]" (virker ikke fordi du mangler den stjerne (*) som jeg skrev)
SQL = "SELECT nick, emne, kommentar FROM debat"
Set RS = Conn.Execute( SQL )

while NOT RS.EOF
text=RS("kommentar")
text = replace(text,vbcrLF,"<br>")
response.write "<tr><td><span class=""tekst11""><b>" & "Forfatter: " & "</b></span>" & "<span class=""tekst11""><i>" &  RS("nick") & "</i></span></td></tr>"
response.write "<tr><td><span class=""tekst11"">" & text & "</span></td></tr>"
response.write "<tr><td colpan=""2""><img src=""/images/bundlinie.gif"" border=""0""></td></tr>"
RS.MoveNext
text=""
wend

RS.Close
Set RS = nothing
Conn.Close
Set Conn = nothing
%>

prøv det
Avatar billede steen_hansen Forsker
19. februar 2002 - 23:54 #8
keyzerzone, det virker ikke :o(
Avatar billede keysersoze Ekspert
20. februar 2002 - 00:04 #9
ok...

looper det du har nu alle dine resultater igennem?

er du sikker på at der i det hele taget er data i den tabel?
Avatar billede steen_hansen Forsker
20. februar 2002 - 00:08 #10
Nej, det gør det ikke, og det er mystisk.

Ja, der er data i tabellen :o)
Avatar billede keysersoze Ekspert
20. februar 2002 - 00:12 #11
bliver der i det hele taget vist noget så?
Avatar billede steen_hansen Forsker
20. februar 2002 - 00:15 #12
Der bliver vist FEM (5) indlæg. Det virker som om, at det er et levn fra SQL = "SELECT TOP 5 * FROM debat ORDER BY ID DESC", men det er fysisk (elektronisk) umuligt.

Gode dyr rådne
Avatar billede steen_hansen Forsker
20. februar 2002 - 00:19 #13
NEEEEJ, hvor er det flovt! Jeg havde inkluderet den forkerte fil. Sorry, DET VIRKER :o)
Avatar billede s_raagaard Nybegynder
20. februar 2002 - 00:21 #14
Prøv at sætte dette i toppen af siden:

<%
response.buffer = True
response.expires = -1000
%>
Avatar billede steen_hansen Forsker
20. februar 2002 - 00:23 #15
Så har jeg lige et tillægsspørgsmål (opretter et nyt spørgsmål):

Jeg vil gerne have, at man trykker på "Opret debatemne" debatemne el.lign.

Når du indtaster i formularfelterne og trykker på "Send", så skal indlægget postes i databasen.

Når jeg så gerne vil kommentere dit indlæg, skal loopen køres. Nogle gode idéer?
Avatar billede steen_hansen Forsker
20. februar 2002 - 00:23 #16
Hvad laver det?
Avatar billede keysersoze Ekspert
20. februar 2002 - 00:25 #17
hvilken loop skal køre?
Avatar billede steen_hansen Forsker
20. februar 2002 - 00:28 #18
Jeg vil gerne have vist det debatemne, som en bruger opretter i en tabel, som er f.eks. 500 px bred.

Efterfølgende skal besvarelser vises i celle, som er f.eks. 450 px bred. Cellen skal "skubbes ud" til højre.

Dvs. at det debatemne, som oprindeligt er oprettet, skal stå hvor det står. Men alle besvarelser skal så vises under neden.

Forstår du?

Hvad laver

<%
response.buffer = True
response.expires = -1000
%>
Avatar billede s_raagaard Nybegynder
20. februar 2002 - 00:34 #19
response.buffer = True
Gør at alt HTML bliver genereret før output, dette kan så evt. skrives ud løbende i scriptet med Response.Flush

response.expires = -1000
Gør at den genererede HTML ikke bliver cached i Browseren/Proxy'en


/s
Avatar billede steen_hansen Forsker
20. februar 2002 - 00:34 #20
Sagt på en anden måde:

Debatemnet, som bliver oprettet, skal ikke ind i en loop; det er jo starten.

Alle efterfølgende emner skal loopes, så jeg får adskilt dem med bundlinie.gif etc.
Avatar billede steen_hansen Forsker
20. februar 2002 - 00:34 #21
Ok. Kender ikke Response.Flush?
Avatar billede steen_hansen Forsker
20. februar 2002 - 00:36 #22
Debatemnet, som bliver oprettet, skal ikke ind i en loop; det er jo starten, og ligger i en celle, som er 500 px bred.

Alle efterfølgende emner skal loopes, så jeg får adskilt dem med bundlinie.gif etc. De skal jo ligge i celler, som er 450 px brede.
Avatar billede keysersoze Ekspert
20. februar 2002 - 00:37 #23
er ikke med på det debat-noget...

response.buffer er jeg ikke god til at forklare - men man tømmer bufferen eller sådan noget... det er så man undgår at få en header-fejl

response.expires er siden udløbstid - lige så vel som metadata... burde gøre at siden reloades
Avatar billede steen_hansen Forsker
20. februar 2002 - 00:44 #24
10-4.

Det jeg mener er:

Du opretter et debatemne i mit debatforum. Det kommer til at ligge i en celle, som er 500 px bred (for eksempel).

Der skal ikke loopes noget som helst.

Jeg indsætter så bundlinie500.gif (500 px i bredden).

Hvis jeg så besvarer dit debatindlæg, skal det ned i cellen neden under. Men her er ikke en celle, der er 500 px bred, men 2 celler, hvor den til venstre er 50 px bred (og tom), og hvor den til højre er 450 px bred.

I den celle, der er 450 px bred, skal mit svar på dit indlæg så trækkes ud. Her er det, loopen skal sættes ind, så alle indlæggene bliver postet i én lang række (det vi lige har lavet nu).

Dvs. at alle besvarelser bliver vist under dit indlæg i én lang række, adskilt fra hinanden af bundlinie450.gif, som i disse celler er 450 px brede. Forstår du meningen nu? :o)
Avatar billede steen_hansen Forsker
20. februar 2002 - 00:46 #25
keyser, jeg bliver nødt til at daffe i seng nu. Vi snakkes ved i morgen?
Avatar billede keysersoze Ekspert
20. februar 2002 - 01:00 #26
at bruge to tabels på den måde er ikke altid smart (medmindre det udfyldes med et gennemsigtigt billede eller noget)... stylesheets giver nogle bedre muligheder.

Det er let nok at lave det du vil - men tager lige lidt tid for at få det tilpasset... opret evt et spm og se om der er nogle der gider lave det
Avatar billede steen_hansen Forsker
20. februar 2002 - 05:43 #27
Der skal ikke bruge to tabels, kun en:

<table border="0" cellpadding="4" cellspacing="0" width="500" class="tekst11">
  <tr>
    <td valign="top" colspan="2">DEBATOPLÆG</td>
  </tr>
  <tr>
    <LØKKE>
    <td valign="top" width="50">&nbsp;</td>
    <td valign="top" width="450">INDLÆG</td>
    </LØKKE>
  </tr>
</table>
Avatar billede steen_hansen Forsker
20. februar 2002 - 05:48 #28
Uden valign:

<table border="0" cellpadding="4" cellspacing="0" width="500" class="tekst11">
  <tr>
    <td colspan="2">DEBATOPLÆG</td>
  </tr>
  <tr>
    <LØKKE>
    <td width="50">&nbsp;</td>
    <td width="450">INDLÆG</td>
    </LØKKE>
  </tr>
</table>
Avatar billede keysersoze Ekspert
20. februar 2002 - 07:38 #29
celler - tabels... det går (næsten) ud på et ;o)

det var celler jeg mente selvom jeg skrev noget andet
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