[ASP] Sorteer probleempje

Pagina: 1
Acties:

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
Hoi,

Ik ben een poll aan het maken. Dat lukt allemaal verder aardig.

Nu wil ik alleen mijn resultaten mooi geordend weer geven (meeste stemmen boven aflopend)

Nu is het probleem dat al mijn resultaten uit 1 row in de DB komen.
Dit omdat ik een variabel aantal antwoorden wil kunnen maken in het admin gedeelte. Dit lukt dus allemaal aardig alleen hoe sorteer ik de resultaten nu?

Ik ben al flink aan het spitten geweest op asp101 en 4guys alleen de voorbeelden daar zijn gewoon niet van toeppassing op mijn Database/code

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%
PID = Request.Querystring("pollid")

Set strConn = Server.CreateObject("ADODB.Connection")
    strConn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=f:\websites\ivof\databases\attack.mdb"

SQLQuery = "SELECT * FROM Poll WHERE ID=" & pID

Set rs = strConn.execute(SQLQuery)
%>

<table border="1" width="400">
<%
For i = 1 to 10
    If NOT rs.Fields("Antw" & i) = "" Then
        Response.Write "<tr><td>" &  rs.Fields("Antw" & i) & "</td><td>" & rs.Fields("Count" & i) & "</td></tr>"
    End If
Next
%>
</table>


hoe kan ik deze resultaten sorteren?
(ik hoef niet de hele oplossing alleen een duwtje in de goede richting ;) )

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
hmm toch maar eens wat meer lezen over normalisation denk ik... :|

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


Verwijderd

SQL? order by? DESC/ASC? Of is dat niet wat je bedoelt?

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
eh nee niet echt maar dat stond in de vraag :)

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • Blizard
  • Registratie: September 2001
  • Niet online
Hmz ? je zegt zelf dat je een variabel aantal antwoorden wil ? Maar toch geef je jezelf de beperking van 10 antwoorden maximaal ? Waarom niet gewoon met een do while not rst.eof ? Dan heb je die teller-loop niet meer nodig en kan je idd in je sql een sort opnemen. Of zie ik het verkeerd ?

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
ik ben mijn database al anders aan het modelleren om het wat efficienter te maken.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • blijhoofd_bennie
  • Registratie: Maart 2000
  • Niet online

blijhoofd_bennie

Wasser für alle!!

Snap je vraag niet precies, wat wil jou nou precies sorteren?
Sorteren waarop? Formuleer je vraag ff wat duidelijker aub.

  • Blizard
  • Registratie: September 2001
  • Niet online
Ik vermoed dat hij wil sorteren op Count&ID ? ...

Ben je al verder geraakt met de database ?!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Probleem van de topicstarter is dat hij kolommen wil sorteren ipv rijen.

Oplossing: Beter DB model zodat je rijen hebt ipv kolommen :)...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Morpheus_at_work
  • Registratie: December 2000
  • Laatst online: 01-09 12:55
4of9 zet je db structuur is hier neer , kunnen we meedenken aan de best oplossing :)

Canon R6 MARK III, 35mm 1.4 VCM, 50mm 1.4 VCM , 85mm 1.4 VCM , 17-35mm 1.8, 28-70 1.8 , 24-105 1.8 70-200 f2.8


  • Mart!
  • Registratie: Februari 2000
  • Laatst online: 30-08 14:10
Table Poll: <poll-id> <naam> <question>
Table Answers: <question-id><poll-id><answercount>

en dan:
SELECT question, answercount FROM Question WHERE poll-id = 12 ORDER BY answercount

ps. Maak een optie bij je poll hoe je wilt sorteren; niet, oplopend, aflopend. Bij sommige polls (hoe veel computers heb je) is het mooier als je niet sorteert op aantal. Die keuze kun je dan opnemen bij in je Poll tabel. Succes!

[ Voor 0% gewijzigd door Mart! op 11-09-2002 14:30 . Reden: Grove fout in denkwijze veranderd :) ]


Verwijderd

Het kan natuurlijk wel, lees je record in in een array en sorteer die....

Maar dat is natuurlijk niet de mooiste oplossing!

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
tis al gefixed en het werkt... nu wil ik alleen de hoogste waarde een andere kleur balkdiagram geven dus dat is mijn volgende probleem waar ik een beetje mee aan het prutsen ben:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<%
pID = Request.Querystring("id")

    Set strConn = Server.CreateObject("ADODB.Connection")
    strConn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=d:\inetpub\DB\poll.mdb"

    SQLQuery = "SELECT * FROM Poll, Poll_antw WHERE Poll.ID = ""&_
" & Clng(pID) & " AND Poll_antw.PollID = " & Clng(pID) & " ORDER BY "&_
"Poll_antw.Votes DESC" 

    Set rs = strConn.execute(SQLQuery)

    SQLQuery = "SELECT SUM(Votes) FROM Poll_antw WHERE PollID = " & Clng(pID)
    Set rs2 = strConn.execute(SQLQuery)

strPoll = rs.Fields("Poll")
strVraag = rs.Fields("Vraag")

iTotal = rs2.Fields(0)
%>
<table border="0" width="300" class="edit">
    <tr>
        <td colspan="2" class="titel2"><%=strPoll%></td>
    </tr>
    <tr>
        <td colspan="2" class="text"><%=strVraag%></td>
    </tr>
    <tr>
        <td colspan="2">&nbsp;</td>
    </tr>
    <%
    Do While NOT rs.EOF
        Response.Write "<tr><td class=""text"">" & rs.Fields("Antw") &  "</td><td class=""text"">" & "&_
"Round(((rs.Fields("Votes") / iTotal) * 100), 1) &_
         "%&nbsp;&nbsp;(" & rs.Fields("Votes") & ")</td></tr>"
         Response.Write "<tr><td colspan=""2"">"&_
"<img src=""../images/poll1.gif"" height=""15"" "&_
"width=""" & ((300 / 100 ) * Cint(((rs.Fields("Votes") / iTotal) * 100))) &_ 
"""</td></tr>"
    rs.movenext
    Loop
    %>
    <tr>
        <td colspan="2">&nbsp;</td>
    </tr>
    <tr>
        <td class="text">total votes:</td><td class="text"><%=iTotal%>
        </td>
    </tr>
</table>


Tips zijn dus nog welkom :)

edit:

even geprobeerd de layout niet te laten vern**ken... dus vandaar dat de code niet helemaal duidelijk meer is...

[ Voor 0% gewijzigd door 4of9 op 11-09-2002 14:30 . Reden: zorgen dat layout goed blijft ]

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...

Pagina: 1