Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


sortera databasen i en tabel

Postades av 2003-03-21 16:57:43 - Mouhannad Al-Sayegh, i forum asp - allmänt, Tråden har 22 Kommentarer och lästs av 675 personer

det som jag vill göra är att jag vill visa allt som jag har i databasen delat i två kolumn ex:

----------
| ID: |
----------
| 1 | 3 |
----------
| 2 | 4 |
----------

så vill jag ha det så och databasen ska sköta det själv .. hoppas ni fattar vad jag menar!!

OBS!! om det e jobbigt att lösa .. så bara ge mig en ledtråd så att jag själv söker efter lösningen!!

TACK




Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-21 17:11:18 - Jonas Sjöblom

du får sätta in en räknare...
<code>
<table>
<tr>
<%
rs.open bla bla bla
do until rs.eof
raknare="1"
raknare = raknare+1
if raknare="5" then
raknare = "0"
end if
%>
<td>info <%if raknare="1" then %><tr><%end if%>
<% rs.movenext
loop
rs.close%>
</code>
det där var baar en skiss.. hoppas du förstår principen


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-21 17:36:25 - Mouhannad Al-Sayegh

jag fattar faktiskt inte vad du menar ... :)


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-21 17:59:09 - Jonas Sjöblom

<code>
<table>
<tr>
<%
rs.open bla bla bla 'öppna recordset
raknare="0" 'ge raknaren värdet 0 som startväde
do until rs.eof 'skapa en loop som loopar genom tabellen
raknare = raknare+1 'varje gång du loopar så blir räknarens värde 1 mer
if raknare="5" then ' om den är 5
raknare = "0" ' ska den bli 0 igen
end if
%>
<td>databas värde
<%if raknare="1" then %></tr><tr><%end if%> om räknaren är 1 börjar den på en ny rad
<% rs.movenext 'gå till nästa fält
loop 'gör om loopen
rs.close 'stäng rs
%>
</table>
</code>

ändrade lite i koden nu så den ska bli lättare att förstå


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-22 02:24:32 - Mouhannad Al-Sayegh

jag använde din kod och jag fick det till så här:
<code>
<table border="1">
<tr>
<%
Set RecSet=connect.Execute("SELECT * FROM ara_bk_dikt WHERE booknr = "&RecSet2("id")&" ORDER BY sort ASC")
raknare="0"
do until RecSet.eof
raknare = raknare+1
if raknare="2" then
raknare = "0"
end if
%>
<td>&id=<%=RecSet("id")%>"><%=RecSet("diktrubrik")%><br>

<%if raknare="1" then %></tr><tr><%end if%>
<% RecSet.movenext
loop
RecSet.close
%>
</table>
</code>

och resultatet som jag fick var:
1
2 3
4 5
6 7

men det jag vill ha är:
1 5
2 6
3 7
4

:-)


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-22 10:50:22 - Jonas Sjöblom

jo jag vet, ville bara få dej att tänka på rätt sätt... nu beror det ju på hur många du vill visa i varje rad.. ett sätt ä'r att göra så här



<table border="1" align="left">
<tr>
<%
Set RecSet=connect.Execute("SELECT * FROM ara_bk_dikt WHERE booknr = "&RecSet2("id")&" ORDER BY sort ASC")
raknare="-1"
do until RecSet.eof
raknare = raknare+1
if raknare="5" then 'ange hur många som ska visas i varje kolumn
raknare = "0"
end if
%>
<td>&id=<%=RecSet("id")%>"><%=RecSet("diktrubrik")%><br>

<%if raknare="5" then %></tr></table><table border="1" align="left"><tr><%end if%>
<% RecSet.movenext
loop
RecSet.close
%>
</table>


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-22 13:48:10 - Mouhannad Al-Sayegh

VADDÅ??

denna koden visar så här:

ID
1 2 3 4 5 6 7

-----------------------------------------------------------------------------------

alltså jag vet hur jag ska göra så här :
ID
1 2 3 4
5 6 7 8

men jag vill ha det så här:
1 5
2 6
3 7
4 8


det verkar som jag inte kan förklara problemet tydligt ... :-)


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-22 14:02:03 - Jonas Sjöblom

ahh... glömde en sak

<table border="1" align="left">
<tr>
<%
Set RecSet=connect.Execute("SELECT * FROM ara_bk_dikt WHERE booknr = "&RecSet2("id")&" ORDER BY sort ASC")
raknare="-1"
do until RecSet.eof
raknare = raknare+1
if raknare="5" then 'ange hur många som ska visas i varje kolumn
raknare = "0"
end if
%>
<tr>
<td>&id=<%=RecSet("id")%>"><%=RecSet("diktrubrik")%><br></td></tr>

<%if raknare="5" then %></table><table border="1" align="left"><%end if%>
<% RecSet.movenext
loop
RecSet.close
%>
</table>


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-22 14:38:14 - Andreas Hillqvist

Jag skulle skrivit något sådant här om jag ville ha ett fast antal rader:
<code>
<!--METADATA TYPE="typelib" NAME="ADODB Type Library" UUID="00000205-0000-0010-8000-00AA006D2EA4" -->
<%
Dim rsSub
Dim rsMain
Dim connect

Dim Row
Dim MaxRow


'Om det inte funkar med ADODB Type Library
'Const adOpenStatic = 3
'Const adLockReadOnly = 1

Set connect = Server.CreateObject("ADODB.Connection")
connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;" & _
"Data Source=" & Server.MapPath("DinDatabas.mdb")

Set rsSub = Server.CreateObject("ADODB.Recordset")

Set rsMain = Server.CreateObject("ADODB.Recordset")
rsMain.Open "SELECT *" & vbCrLf & _
"FROM Books" & vbCrLf & _
"ORDER BY BookTitle", _
connect

Do Until rsMain.EOF
%>
<h3><%=Server.HTMLEncode(rsMain("BookTitle"))%></h3>
<table border="0">
<tr>
<td>
<table border="1" align="left">
<%

rsSub.Open "SELECT *" & vbCrLf & _
"FROM ara_bk_dikt" & vbCrLf & _
"WHERE booknr = " & rsMain("Id") & vbCrLf & _
"ORDER BY [Sort] ASC", _
connect, adOpenStatic, adLockReadOnly

MaxRow = rsSub.RecordCount \ 2

Do Until rsSub.EOF
If Row >= MaxRow Then
%>
</table>
</td>
<td>
<table border="1" align="left">
<%
Row = 0
Else
Row = Row + 1
End If
%>
<tr>
<td>
&id=<%=rsSub("id")%>"><%=Server.HTMLEncode(rsSub("diktrubrik"))%><br>
</td>
</tr>
<%
rsSub.movenext
Loop

rsSub.Close
Loop

Set rsSub = Nothing

rsMain.Close
Set rsMain = Nothing

connect.Close
Set connect = Nothing
%>
</table>
</td>
</tr>
</table>
</code>

Om du vill ha ett fast antal kolumener:
<code>
<!--METADATA TYPE="typelib" NAME="ADODB Type Library" UUID="00000205-0000-0010-8000-00AA006D2EA4" -->
<%
Dim rsSub
Dim rsMain
Dim connect

Dim Row

'Om det inte funkar med ADODB Type Library
'Const adOpenStatic = 3
'Const adLockReadOnly = 1

Set connect = Server.CreateObject("ADODB.Connection")
connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Persist Security Info=False;" & _
"Data Source=" & Server.MapPath("DinDatabas.mdb")

Set rsSub = Server.CreateObject("ADODB.Recordset")

Set rsMain = Server.CreateObject("ADODB.Recordset")
rsMain.Open "SELECT *" & vbCrLf & _
"FROM Books" & vbCrLf & _
"ORDER BY BookTitle", _
connect


Do Until rsMain.EOF
%>
<h3><%=Server.HTMLEncode(rsMain("BookTitle"))%></h3>
<table border="0">
<tr>
<td>
<table border="1" align="left">
<%

rsSub.Open "SELECT *" & vbCrLf & _
"FROM ara_bk_dikt" & vbCrLf & _
"WHERE booknr = " & rsMain("Id") & vbCrLf & _
"ORDER BY [Sort] ASC", _
connect, adOpenStatic, adLockReadOnly

Do Until rsSub.EOF
If Row >= 7 Then
%>
</table>
</td>
<td>
<table border="1" align="left">
<%
Row = 0
Else
Row = Row + 1
End If
%>
<tr>
<td>
&id=<%=rsSub("id")%>"><%=Server.HTMLEncode(rsSub("diktrubrik"))%><br>
</td>
</tr>
<%
rsSub.movenext
Loop

rsSub.Close
Loop

Set rsSub = Nothing

rsMain.Close
Set rsMain = Nothing

connect.Close
Set connect = Nothing
%>
</table>
</td>
</tr>
</table>
</code>

Har ju lagt på lite kod som jag skulle skrivit det. En skillnad är den återanvänder instansen av recorsetet i subloopen.


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-22 16:34:31 - Mouhannad Al-Sayegh

jag får detta felmeddelandet ... jag kunde inte hitta lösningen...

Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.

i raden:
rsSub.Open "SELECT *" & vbCrLf & _


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-22 17:16:14 - Andreas Hillqvist

Låter som du glömt sätta den:
<code>
Set rsSub = Server.CreateObject("ADODB.Recordset")
</code>
Det sker utanför loopen i min kod.


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-22 19:24:43 - Mouhannad Al-Sayegh

nej, jag har inte glömt ... det e samma fel


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-22 20:12:04 - Andreas Hillqvist

Jag som gjort fel. Flytta ut:
<code>
Set rsSub = Nothing
</code>
Utanför loopen.

;o)


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-23 18:40:42 - Mouhannad Al-Sayegh

TYVÄRR .. det var inte det heller .. :-)


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-23 20:00:44 - Andreas Hillqvist

Hur ser koden på din sida ut?


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-24 17:18:38 - Mouhannad Al-Sayegh

<code>
<HTML>

<BODY>

<!--METADATA TYPE="typelib" NAME="ADODB Type Library" UUID="00000205-0000-0010-8000-00AA006D2EA4" -->
<%
Dim rsSub
Dim rsMain
Dim connect

Dim Row
Dim MaxRow


'Om det inte funkar med ADODB Type Library
'Const adOpenStatic = 3
'Const adLockReadOnly = 1

Set connect = Server.CreateObject("ADODB.Connection")
connect.Open "Driver={MySQL ODBC 3.51 Driver}; server=localhost; database=adnan; uid=; pwd=;"

Set rsSub = Server.CreateObject("ADODB.Recordset")

Set rsMain = Server.CreateObject("ADODB.Recordset")
rsMain.Open "SELECT *" & vbCrLf & _
"FROM ara_bk_book" & vbCrLf & _
"ORDER BY sort", _
connect

Do Until rsMain.EOF
%>
<h3><%=Server.HTMLEncode(rsMain("bildnr"))%></h3>
<table border="0">
<tr>
<td>
<table border="1" align="left">
<%

rsSub.Open "SELECT *" & vbCrLf & _
"FROM ara_bk_dikt" & vbCrLf & _
"WHERE booknr = " & rsMain("Id") & vbCrLf & _
"ORDER BY [Sort] ASC", _
connect, adOpenStatic, adLockReadOnly

MaxRow = rsSub.RecordCount \ 2

Do Until rsSub.EOF
If Row >= MaxRow Then
%>
</table>
</td>
<td>
<table border="1" align="left">
<%
Row = 0
Else
Row = Row + 1
End If
%>
<tr>
<td>
&id=<%=rsSub("id")%>"><%=Server.HTMLEncode(rsSub("diktrubrik"))%><br>
</td>
</tr>
<%
rsSub.movenext
Loop

rsSub.Close
Loop

Set rsSub = Nothing

rsMain.Close
Set rsMain = Nothing

connect.Close
Set connect = Nothing
%>
</table>
</td>
</tr>
</table>




</BODY>

</HTML>
</code>

detta e en bara test sida ....

felet:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC-drivrutinen stöder inte de begärda egenskaperna.
/adnan/test/test.asp, line 39


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-25 14:41:01 - Daniel Eriksson

Har inte läst igenom alla poster här så möjligt att ni redan löst det, så här skulle min enklaste lösning se ut:

<code>
records = RecSet.RecordCount

'Följande gör hälften av allt jobb
Do Until i=CInt(records/2)
kolumn1 = kolumn1 + RecSet("fält")
i = i+1
RecSet.MoveNext
Loop

'Nu fortsätter vi med resten
Do Until RecSet.EOF
kolumn2 = kolumn2 + RecSet("fält")
RecSet.MoveNext
Loop

Response.write "<table><tr><td>" & kolumn1 & "</td><td>" & kolumn2 & "</td></tr></table>"
</code>


Detta listar som följande
1 | 5
2 | 6
3 | 7
4 | 8

Med att ändra lite på "CInt(records/2)" så den alltid avrundar uppåt får du vänster kolumn att alltid vara "längre" om det är ojämnt antal fält.


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-25 17:02:35 - Mouhannad Al-Sayegh

din kod ser ut som precis hur jag hade tänkt mig ... men jag fick det inte riktigt rätt ...

koden ser ut så här:
<code>
Set RecSet=connect.Execute("SELECT * FROM ara_bk_dikt")
records = RecSet.RecordCount
do until i=CInt(records/2)
kolumn1 = kolumn1 + RecSet("diktrubrik") + "<br>"
i = i+1
RecSet.MoveNext
Loop

Do Until RecSet.EOF
kolumn2 = kolumn2 + RecSet("diktrubrik") + "<br>"
RecSet.MoveNext
Loop

Response.write "<table border='10'><tr><td>" & kolumn1 & "</td><td>" & kolumn2 & "</td></tr></table>"

RecSet.close
</code>

svaret som jag får:
| 1
| 2
| 3
| 4
| 5
| 6
| 7
det verkar inte som kolumn1 får något värde ...


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-25 23:05:17 - Daniel Eriksson

Har fixat koden nu åt dig

<code>
do until i=CInt(RecSet.RecordCount/2)
kolumn1 = kolumn1 + RecSet("Namn") + "<br>"
i = i+1
RecSet.MoveNext
Loop

Do Until RecSet.EOF
kolumn2 = kolumn2 + RecSet("namn") + "<br>"
RecSet.MoveNext
Loop

Response.write "<table border='10'><tr><td>" & kolumn1 & "</td><td>" & kolumn2 & "</td></tr></table>"
</code>

För att få det att fungera måste dina Records räknas rätt och då måste du antingen använda en pekare som är KeySet eller Static, annars får RecordCount värdet -1.


KetSet: RecSet.CursorType = 1
Static: RecSet.CursorType = 3

Deklareras INNAN du öppnar recordsetet.

Mvh
Daniel 'Pikkenix' Eriksson
http://www.pikkenix.com


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-26 17:10:46 - Mouhannad Al-Sayegh

jag förstår inte vad det e du ändrade .. det verkar vara samma kod ... :)


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-26 21:10:07 - Daniel Eriksson

Är samma kod i det stora hela, skippade bara ett steg.
Själva koden är rätt men du måste ändra recordsettets pekare...
ge mig hela din koppling till databasen och när du deklarerar recordsetet så kan jag visa dig.


Svara

Sv: sortera databasen i en tabel

Postades av 2003-03-27 04:21:28 - Mouhannad Al-Sayegh

detta e hela koden som har med min fråga och göra ...

<code>
<%
Set RecSet=connect.Execute("SELECT * FROM ara_bk_dikt WHERE booknr = "&RecSet2("id")&" ORDER BY sort ASC")
records = RecSet.RecordCount
do until i=CInt(records/2)
kolumn1 = kolumn1 + RecSet("diktrubrik") + "<br>"
i = i+1
RecSet.MoveNext
Loop

Do Until RecSet.EOF
kolumn2 = kolumn2 + RecSet("diktrubrik") + "<br>"
RecSet.MoveNext
Loop

Response.write "<table border='10'><tr><td>" & kolumn1 & "</td><td>" & kolumn2 & "</td></tr></table>"

RecSet.close
%>
</code>

Tack


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 808
27 960
271 761
548
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies