Avatar billede moso Nybegynder
19. februar 2003 - 23:41 Der er 21 kommentarer og
1 løsning

Vis poster vandret

Jeg vil gerne vise to poster vandret og derefter skifte linie. Posterne er  sorteret efter dato og skal stå med nyeste først, derefter nummer to. Linie/rækkeskift og så videre.
Hvordan laver jeg dette rækkeskift?
Avatar billede amd Nybegynder
19. februar 2003 - 23:42 #1
rækker i en html-tabel, eller hvad snakker vi?
har du noget kode at gå ud fra.. eller...?
Avatar billede moso Nybegynder
19. februar 2003 - 23:45 #2
ja, rækker i html, her er koden.
Jeg har lagt en tæller ind for at prøve noget med if kolonne = 1 then ...
Koden:
<%
While ((Repeat10__numRows <> 0) AND (NOT Forsidetekst.EOF))
%><table width="231" border="0" cellspacing="5" cellpadding="5">
                     
                          <tr align="left" valign="top">
                            <td width="211" bgcolor="F6F6F6"> <% If kolonne=1 Then
                                  kolonne= kolonne+ 1
                                Response.Write(kolonne) %> <%     Else %> <%     kolonne=1
                                Response.Write(kolonne)
                                End If %> <br>
                              <span class="nyhedsheadline">Indhold</span><a href="#"></a></td>
                          </tr>
                        </table>
                      <%
  Repeat10__index=Repeat10__index+1
  Repeat10__numRows=Repeat10__numRows-1
  Forsidetekst.MoveNext()
Wend
%>
Avatar billede moso Nybegynder
19. februar 2003 - 23:46 #3
Det kan vel tilføjes at tabellen det ligger i er 480 px bred.
Avatar billede eagleeye Praktikant
19. februar 2003 - 23:51 #4
<table border="0" width="100%">
<%
noColPrRow = 0
maxColsPrRow = 2
do while not rs.EOF
  if noColPrRow = 0 then Response.Write "<tr>"
 
  Response.write "<td>" & rs("kolonnenavn") & "</td>"

  rs.MoveNext

  noColPrRow = noColPrRow + 1
  if noColPrRow = maxColsPrRow then
    Response.Write "</tr>"
    noColPrRow = 0
  end if 
loop
if noColPrRow > 0 then Response.Write "</tr>"
%>
</table>
Avatar billede eagleeye Praktikant
19. februar 2003 - 23:52 #5
Hov gletme at skrive:
Et eks.. Den viser to poster vandret og så laver den en ny linie.
Avatar billede moso Nybegynder
19. februar 2003 - 23:54 #6
Erstatter jeg hele koden?
Avatar billede eagleeye Praktikant
19. februar 2003 - 23:57 #7
Nej jeg kan lige prøve at sætte dem sammen.
Avatar billede moso Nybegynder
19. februar 2003 - 23:58 #8
Jeg er ikke sikker på at jeg forstår. Jeg har brug for at hente værdier ind i tabellen fra db. Jeg skal hente de 8 nyeste poster og placere dem 2 og 2 i en tabel. Kan jeg bruge dit forslag til det?
Undskyld hvis ikke jeg forklarede mig tydeligt nok første gang :-)
Avatar billede eagleeye Praktikant
20. februar 2003 - 00:00 #9
Så du vil havde noget der ser sådan her ud:

1 | 5
2 | 6
3 | 7
4 | 8
Avatar billede eagleeye Praktikant
20. februar 2003 - 00:02 #10
Eller vi du havde det sådan her:

1 | 2
3 | 4
5 | 6
7 | 8
Avatar billede moso Nybegynder
20. februar 2003 - 00:03 #11
1 | 2
3 | 4
5 | 6
7 | 8
Avatar billede eagleeye Praktikant
20. februar 2003 - 00:04 #12
Ja så kan du bruge koden.
Avatar billede moso Nybegynder
20. februar 2003 - 00:08 #13
Det giver bare en fejl:
Microsoft VBScript runtime error '800a01a8'
Object required: ''

/2003/index.asp, line 91

Linie 91:
do while not rs.EOF

Jeg er ikke sikker på hvad det er jeg skal sætte ind, er det hele ovenover eller hvad?
Avatar billede eagleeye Praktikant
20. februar 2003 - 00:11 #14
Det skal lige tilpasses så det passer med din kode. Ekvis navnet på recordet mm.:


<table width="231" border="0" cellspacing="5" cellpadding="5">
<%
noColPrRow = 0
maxColsPrRow = 2
While ((Repeat10__numRows <> 0) AND (NOT Forsidetekst.EOF))

  if noColPrRow = 0 then Response.Write "<tr align=""left"" valign=""top"">"

%><td width="211" bgcolor="F6F6F6">
  <span class="nyhedsheadline">Indhold</span><a href="#">XX</a>

</td>
<%
  noColPrRow = noColPrRow + 1
  if noColPrRow = maxColsPrRow then
    Response.Write "</tr>"
    noColPrRow = 0
  end if 
 
  Repeat10__index=Repeat10__index 1
  Repeat10__numRows=Repeat10__numRows-1
  Forsidetekst.MoveNext()
Wend
%>
Avatar billede moso Nybegynder
20. februar 2003 - 00:20 #15
Det virker desværre ikke.
Tabellen vises ikke, mens andre tabeller bliver ødelagt.
Jeg ved ikke hvad der er galt, men jeg har klippet hele koden ovenfor ind (og rettet:
Repeat10__index=Repeat10__index 1"
til
Repeat10__index=Repeat10__index +1

Hvad kan der være galt???
Avatar billede eagleeye Praktikant
20. februar 2003 - 00:23 #16
Prøv at rette:

Wend
%>


Til:

Wend
if noColPrRow > 0 then Response.Write "</tr>"
%>
</table>
Avatar billede eagleeye Praktikant
20. februar 2003 - 00:26 #17
Prøv at rette denne

<span class="nyhedsheadline">Indhold</span><a href="#">XX</a>

Så den udskriver noget fra databasen eller bar en tekst: xXXXXXXx
Avatar billede moso Nybegynder
20. februar 2003 - 00:34 #18
Koden ser nu sådan her ud:
<table width="231" border="0" cellspacing="5" cellpadding="5">
<%
noColPrRow = 0
maxColsPrRow = 2
While ((Repeat10__numRows <> 0) AND (NOT Forsidetekst.EOF))

  if noColPrRow = 0 then Response.Write "<tr align=""left"" valign=""top"">"

%>
                      <td width="211" bgcolor="F6F6F6"> test <%=(Nyheder_forsiden.Fields.Item("Overskrift").Value)%>
                      </td>
<%
  noColPrRow = noColPrRow + 1
  if noColPrRow = maxColsPrRow then
    Response.Write "</tr>"
    noColPrRow = 0
  end if 
 
  Repeat10__index=Repeat10__index +1
  Repeat10__numRows=Repeat10__numRows-1
  Forsidetekst.MoveNext()
Wend
if noColPrRow > 0 then Response.Write "</tr>"
%>
</table>

Men det virker desværre ikke.
Der er ikke fejl længere, men tabellen vises ikke.
Avatar billede hossein Nybegynder
20. februar 2003 - 00:36 #19
Her er det hele fra toppen til bund, tilpas til din egen side:
<%
ID=Request.Form("ID")
set conn=Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0"
conn.open(server.mappath("fpdb/Komponentbors.mdb"))
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "Select * from Komponentborsen where Komponentborsen.[ID]=" & ID, conn
%>
</head>

<body><table bgcolor="#b0c4de">

<%
dim LinkCount
for each x in rs.Fields
  if x.name <> "no" and x.name <> "dateadded" then
     
  If LinkCount Mod 2 = 0 Then
      If LinkCount <> 0 Then Response.Write"</tr>"
           
        Response.Write "<tr><td>"&x.name&"</td><td><input name='"&x.name&"' value='"&x.value&"' size = '30'></td>"
         
      else

        Response.Write "<td>"&x.name&"</td><td><input name='"&x.name&"' value='"&x.value&"' size = '30'></td>"
 
    end if
    LinkCount = LinkCount + 1

  end if
next

rs.close
conn.close
%> 

</table></body>
Avatar billede moso Nybegynder
20. februar 2003 - 00:50 #20
Jeg kan ikke få det til at virke, må prøve en anden løsning.....
Point?
Avatar billede hossein Nybegynder
20. februar 2003 - 00:59 #21
Avatar billede moso Nybegynder
20. februar 2003 - 01:35 #22
<%
LinkCount = 0

%>
<table width="240" height="240" border=1 cellspacing=5 cellpading=5>
                    <%

Do Until Forsidetekst.EOF
'change this 3 to any number you like:
Counter = Counter +1
If counter < 7 Then
If LinkCount Mod 2 = 0 Then
    If LinkCount <> 0 Then Response.Write"</tr>"
          %><tr><td><%= Response.Write(Counter) %><%= (Forsidetekst.Fields.Item("Overskrift").Value)  %></td><%
    Else
          %>  <td><%= Response.Write(Counter) %><%= (Forsidetekst.Fields.Item("Overskrift").Value)  %></td><%

    End If
    End if
    LinkCount = LinkCount + 1
    Forsidetekst.MoveNext
Loop
'Loop
Response.Write"</tr></table>"
%>
Så virker det.
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

IT-JOB