/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Letteste måde at lave et top 10 system på?
Fra : Thomas Brejner


Dato : 06-05-03 19:50

Jeg har lavet en database der hedder vits.mdb og 2 tabeller 1.
Vitser hvor alle vitser ligger i 2. stemme hvor man kan stemme på
en vits, alle stemmer har et vitsid der stemmer til det ide den
vits har i tabellen vitser. Nu skal jeg have lavet et system der
kigger i tabellen stemme for at se hvilket vits id der har fået
flest 5 taller i stjerner. Hvordan kan man lave det og så skal
den også finde den næstbedste osv? . kan jeg bruge den db jeg har
eller er der en smartere måde at lave det på?

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Ukendt (06-05-2003)
Kommentar
Fra : Ukendt


Dato : 06-05-03 21:47

"Thomas Brejner" <brejner@grineflippet.dk> wrote in message
news:b99048$hml$1@sunsite.dk...
> Jeg har lavet en database der hedder vits.mdb og 2 tabeller 1.
> Vitser hvor alle vitser ligger i 2. stemme hvor man kan stemme på
> en vits, alle stemmer har et vitsid der stemmer til det ide den
> vits har i tabellen vitser. Nu skal jeg have lavet et system der
> kigger i tabellen stemme for at se hvilket vits id der har fået
> flest 5 taller i stjerner. Hvordan kan man lave det og så skal
> den også finde den næstbedste osv? . kan jeg bruge den db jeg har
> eller er der en smartere måde at lave det på?
>

Hvis jeg har forstået din opbygning ret??

strSQL1 = "SELECT TOP10 FROM **Stemme** ORDER BY --Stemme-- DESC"

**stemme** og --stemme-- skiftes ud med det korrekte navn for tabellen og
for navnet på tabelrækken.

--

Mvh / Regards
-=< Christian >=-
What capital has 164 letters in its name? See my web page to find out.
http://www.cmnielsen.dk ICQ: 25308942
" If something's hard to do, then it's not worth doing. Homer J. Simpson"



Thomas Brejner (07-05-2003)
Kommentar
Fra : Thomas Brejner


Dato : 07-05-03 11:25

> Hvis jeg har forstået din opbygning ret??
>
> strSQL1 = "SELECT TOP10 FROM **Stemme** ORDER BY --Stemme-- DESC"

så skal min sql sætning se nogenlunde sådan ud?
strSQL = "SELECT TOP10 FROM stemme order by stjerne desc"

hvis min tabel hedder stemme og det den skal sortere efter er stjerne hvor
der er tal fra 1-5 i.


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Ukendt (07-05-2003)
Kommentar
Fra : Ukendt


Dato : 07-05-03 19:55


"Thomas Brejner" <brejner@grineflippet.dk> wrote in message
news:b9amuh$km8$1@sunsite.dk...

> så skal min sql sætning se nogenlunde sådan ud?
> strSQL = "SELECT TOP10 FROM stemme ORDER BY stjerne DESC"

ser rigtigt ud

> hvis min tabel hedder stemme og det den skal sortere efter er stjerne hvor
> der er tal fra 1-5 i.

Så vil den vise de 10 der har flest stjerner.

--

Mvh / Regards
-=< Christian >=-
What capital has 164 letters in its name? See my web page to find out.
http://www.cmnielsen.dk ICQ: 25308942
" If something's hard to do, then it's not worth doing. Homer J. Simpson"



Ryan Dahl (07-05-2003)
Kommentar
Fra : Ryan Dahl


Dato : 07-05-03 21:04

On Wed, 7 May 2003 20:54:36 +0200, "Christian M. Nielsen" <news( A
T)cmnielsen( D*O*T )dk> wrote:

>
>"Thomas Brejner" <brejner@grineflippet.dk> wrote in message
>news:b9amuh$km8$1@sunsite.dk...
>
>> så skal min sql sætning se nogenlunde sådan ud?
>> strSQL = "SELECT TOP10 FROM stemme ORDER BY stjerne DESC"
>

Hej,

jeg tror I er lidt på vildspor. Hvis jeg har forstået problemet
korrekt, så består databasen af følgende 2 tabeller:

Tabel 1: Vitser indeholder vel et ID og så selve vitsen.
Tabel 2: Indeholder VitsID og så en karakter (1 til 5)

Hvor sidstnævnte løbende bliver fyldt med folks karakterer. - I
praksis fungerer det vel formentlig ved, at der bliver tilføjet en
post med en ny karakter ikk'?? Hvis det ikke er tilfældet, så er det
mig, der er løbet galt i skoven.

Jeg foreslår, at man grupperer stemmerne efter VitsID, og så lave en
gennemsnitsberegning (man kan godt finde ud af hvor mange der har fået
5 stjerner, men et gennemsnit er vel endnu bedre!)

Det kunne se nogenlunde sådan ud:
SELECT VitsID, Avg(Stjerne) AS Gennemsnit
FROM Stemmer
GROUP BY VitsID
ORDER BY Avg(Stjerne) DESC

Mvh
Ryan





Thomas Brejner (08-05-2003)
Kommentar
Fra : Thomas Brejner


Dato : 08-05-03 13:01

> Det kunne se nogenlunde sådan ud:
> SELECT VitsID, Avg(Stjerne) AS Gennemsnit
> FROM Stemmer
> GROUP BY VitsID
> ORDER BY Avg(Stjerne) DESC
Du har forstået det rigtigt nok, men der ovenover er det en sql sætning
ligesom select * from bla?

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Ryan Dahl (08-05-2003)
Kommentar
Fra : Ryan Dahl


Dato : 08-05-03 17:33

On Thu, 8 May 2003 12:01:21 +0000 (UTC), Thomas Brejner
<brejner@grineflippet.dk> wrote:

>> Det kunne se nogenlunde sådan ud:
>> SELECT VitsID, Avg(Stjerne) AS Gennemsnit
>> FROM Stemmer
>> GROUP BY VitsID
>> ORDER BY Avg(Stjerne) DESC
>Du har forstået det rigtigt nok, men der ovenover er det en sql sætning
>ligesom select * from bla?

Yep
Man kan lave de vildeste ting i sådan nogle SQL-sætninger!
Bemærk at de felter du får ud, er: "VitsID" og "Gennemsnit".

mvh
Ryan

Thomas Brejner (08-05-2003)
Kommentar
Fra : Thomas Brejner


Dato : 08-05-03 18:18

> Yep
> Man kan lave de vildeste ting i sådan nogle SQL-sætninger!
> Bemærk at de felter du får ud, er: "VitsID" og "Gennemsnit".

Hmm jeg er helt lost er det sådan? men det synes jeg bare ikke rigtig
virker..
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("vits.mdb")
Conn.Open DSN

strSQL = "SELECT vitsid, Avg(stjerne) AS Gennemsnit FROM Stemme GROUP BY
vitsid ORDER BY Avg(stjerne) DESC"
"
Set rs = Conn.Execute(strSQL)

If rs.EOF Then
Response.write "Ingen poster fundet"
Else

Do While Not rs.EOF

%>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:
collapse" bordercolor="#111111" width="400">
<tr>
<td width="120"><center><font face="verdana" size="2"><%
Response.Write "" & rs("vitsid") & "" %></font></center></td>
<td width="280"><center><font face="verdana" size="2"><%response.write
"" & rs("stjerne") & "" %>...</font></center></td>
</tr>
</table>
<%
rs.MoveNext
Loop
End if
Conn.Close
Set Conn = Nothing
%>

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Ryan Dahl (08-05-2003)
Kommentar
Fra : Ryan Dahl


Dato : 08-05-03 19:19

On Thu, 8 May 2003 17:17:53 +0000 (UTC), Thomas Brejner
<brejner@grineflippet.dk> wrote:

>strSQL = "SELECT vitsid, Avg(stjerne) AS Gennemsnit FROM Stemme GROUP BY
>vitsid ORDER BY Avg(stjerne) DESC"
>"
>Set rs = Conn.Execute(strSQL)
>
>If rs.EOF Then
>Response.write "Ingen poster fundet"
>Else
>
>Do While Not rs.EOF
>
>%>
><table border="1" cellpadding="0" cellspacing="0" style="border-collapse:
>collapse" bordercolor="#111111" width="400">
> <tr>
> <td width="120"><center><font face="verdana" size="2"><%
>Response.Write "" & rs("vitsid") & "" %></font></center></td>
> <td width="280"><center><font face="verdana" size="2"><%response.write
>"" & rs("stjerne") & "" %>...</font></center></td>
> </tr>
></table>
><%
>rs.MoveNext
>Loop
>End if
>Conn.Close
>Set Conn = Nothing
>%>

Hej Thomas,
det ser næsten rigtigt ud. - Jeg forudsætter dog at dine felter i
"karakter"-tabellen er: "vitsid" og "stjerne" og at navnet på tabellen
er: "Stemme"

Jeg kunne lige finde følgende:

1.
Umiddelbart ser det ud til, at du skal have tilretttet linien hvor du
skriver: rs("stjerne"). Istedet for stjerne skal du skrive Gennemsnit,
som er det felt der returneres i din forespørgsel.

2.
Umiddelbart efter din sql-streng har der vist sneget sig et ekstra
anførselstegn ind.

3.
En detalje. Dine table-tags skal lige ud af løkken.

mvh
Ryan



Thomas Brejner (08-05-2003)
Kommentar
Fra : Thomas Brejner


Dato : 08-05-03 19:58

Nu ser min kode sådan ud ig det virker fint, men der dukker altid nye problemer
op. Så hvordan laver jeg så den erstatter rs("vitsid") med den vits som ligger
i tabellen vitser som har det samme vitsid som den spytter ud, ´hvis i forstår
:D
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("vits.mdb")
Conn.Open DSN

strSQL = "SELECT vitsid, Avg(stjerne) AS Gennemsnit FROM Stemme GROUP BY vitsid
ORDER BY Avg(stjerne) DESC"
Set rs = Conn.Execute(strSQL)

If rs.EOF Then
Response.write "Ingen poster fundet"
Else

SQL = "Select * From vitser Where id=" & rs("vitsid")
Set rs = Conn.Execute(SQL)

strvits = rs("vits")

Do While Not rs.EOF

%>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:
collapse" bordercolor="#111111" width="400">
<tr>
<td width="300"><center><font face="verdana" size="2"><% Response.Write ""
& strvits & "" %></font></center></td>
<td width="100"><center><font face="verdana" size="2"><%response.write ""
& rs("gennemsnit") & "" %></font></center></td>
</tr>
</table>
<%
rs.MoveNext
Loop
End if
Conn.Close
Set Conn = Nothing
%>

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste