ConnyFoxMedlem sedan aug. 20011 087 inlägg har ännu en gång lite funderingar o frågor (vet jag behöver mycket hjälp) :o)
Aja iaf problem nr.1 är att jag skulle vilja lista 10st radom inlägg från databasen och tänkte att det kanske går med något liknande
SQL = "SELECT Random 10 * FROM links"
nån som vet hur man gör?
Fråga nr2 är följande.. Jag undrar hur man gör för att räkna antal inlägg i en databas där kolumnen svar = ja och på så vis räkna dom olika svarsalternativen. Tänkte att detta kanske gick med ågon sorts Recset.RecordCount
------------------
*brölar ljudligt*
mrblondeMedlem sedan aug. 20012 349 inlägg nr 2 kan du göra så här
select count(*) as AntalJa, (Select count(*) from tbl_DINTABELL where svar = 'nej') as AntalNej from tbl_DINTABELL where svar = 'ja'
Då får du ett recordset med två fält. AntalJa som innehåller hur många ja den hittade och AntalNej som innehåller hur många nej den hittade.
Vassego!
------------------
"Utan tvivel är man inte klok"
Tage Danielsson
ConnyFoxMedlem sedan aug. 20011 087 inlägg Ok tack, nu var det inte det jag skulle ha det till utan jag skulle använda det till att lista antalet inlägg i olika kategorier som jag sparat i en tabell i databasen.. men antar att d e samma prinsip men vet inte om jag förstått det hela riktigt rätt. Är det såhär koden bör se ut?
<%
database = Server.MapPath("links.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "select count(*) as musik, (Select count(*) from links where kategori = 'musik') as Spel from links where kategori = 'Spel'
"
RecSet.Open SQL, Connection, 3, 3
%>
<html>
<head>
<title>Untitled</title>
</head>
<body>
<%=RecSet("musik")%>
<%=RecSet("spel")%>
</body>
</html>
------------------
*brölar ljudligt*
LarsGMedlem sedan dec. 200012 464 inlägg sql = "select count(*) as antal,kategori from links group by kategori order by kategori"
då får du antalet länkar inom varje kategori.
Det finns inget select random som du skrev men du kanske kan testa
select top 10 * from links order by rnd()
------------------
essentitia preter non sans multiplicandum
ConnyFoxMedlem sedan aug. 20011 087 inlägg Ok tack men hur gör man för att skriva ut det sedan då?
typ
spel : 5 inlägg
musik : 7 inlägg
Och rnd() funkar inte har redan testat det.. =/
------------------
*brölar ljudligt*
mrblondeMedlem sedan aug. 20012 349 inlägg Så här blir det nog mer rätt.
"select count(*) as musik, (Select count(*) from links where kategori = 'Spel') as Spel from links where kategori = 'Musik'
För att skriva ut:
Musik <%=RecSet("musik")%> inlägg<br>
Spel <%=RecSet("spel")%> inlägg
Borde funka bra :)
Vassego! :)
------------------
"Utan tvivel är man inte klok"
Tage Danielsson
LarsGMedlem sedan dec. 200012 464 inlägg sql = "select count(*) as antal,kategori from links group by kategori order by kategori"
set rs = connect.execute(sql)
while not rs.eof
response.write rs("kategori") & ": " & rs("antal") & " inlägg <br>"
rs.movenext
wend
------------------
essentitia preter non sans multiplicandum
ConnyFoxMedlem sedan aug. 20011 087 inlägg tackar för det! Båda två funkade fin fint! Nu e d bara att lista random inlägg som måste lösas =/
Nån som vet hur man gör detta? Borde la gå!
------------------
*brölar ljudligt*
LarsGMedlem sedan dec. 200012 464 inlägg Vad var det för problem med att använda
order by rnd
------------------
essentitia preter non sans multiplicandum
ConnyFoxMedlem sedan aug. 20011 087 inlägg ja problemet var väll att det inte funkade ;)
------------------
*brölar ljudligt*
ConnyFoxMedlem sedan aug. 20011 087 inlägg Jag kom på en sak till, hur gör jag för att visa hur många inlägg alla kategorierna har tillsammans?
------------------
*brölar ljudligt*
LarsGMedlem sedan dec. 200012 464 inlägg Gör en summreing i ditt vb-skript.
sql = "select count(*) as antal,kategori from links group by kategori order by kategori"
set rs = connect.execute(sql)
total = 0
while not rs.eof
response.write rs("kategori") & ": " & rs("antal") & " inlägg <br>"
total = total + rs("antal")
rs.movenext
wend
response.write "Totalt: " & total
------------------
essentitia preter non sans multiplicandum
ConnyFoxMedlem sedan aug. 20011 087 inlägg Ah tack d funkade fin fint! Jag försökte använda mig av recordcount men av nån anledning hoppade den över första databas listningen då ;) Men hur som helst nu funkar det! *bockar o bugar*
------------------
*brölar ljudligt*
ConnyFoxMedlem sedan aug. 20011 087 inlägg Lyckades hitta info om att d ska finnas ett SQL kommando som heter RAND som ska slumpa.. jag testade att använda det i mitt SELECT komando för att få fram 10st slumpade inlägg men det funkade inte alltför bra.. någon som vet hur man gör eller har en annan metod?
Använder mig av denna kod
<%
database = Server.MapPath("links.mdb")
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& database
Set RecSet = Server.CreateObject("ADODB.Recordset")
if Request.querystring("kategori") = "alla" then
SQL = "SELECT * FROM links ORDER BY linkname"
elseif Request.querystring("kategori") = "Senaste" then
SQL = "SELECT TOP 10 * FROM links ORDER BY datum DESC"
elseif Request.querystring("kategori") = "Top" then
SQL = "SELECT TOP 10 * FROM links ORDER BY klicks DESC"
elseif Request.querystring("kategori") = "random" then
SQL = "SELECT Top 10 * FROM links ORDER BY RAND" [b]<-- detta som måste ändras!![/b]
else
SQL = "SELECT * FROM links WHERE kategori LIKE '"& Request.querystring("kategori") &"' ORDER BY datum DESC"
end if
RecSet.Open SQL, Connection, 3, 3
%>
------------------
*brölar ljudligt*
LarsGMedlem sedan dec. 200012 464 inlägg RAND är ingen standardfunktion i SQL. Det finns någon funktion i de flesta dbms men den har olika namn. Vilken dbms använder du?
Om det blir fel så beskriv vad som inte fungerar och visa eventuellt felmeddelande. Att bara skriva: det fungerar inte är inte speciellt informativt.
------------------
essentitia preter non sans multiplicandum
ConnyFoxMedlem sedan aug. 20011 087 inlägg hmm hehe om du berättar vad det är för något kan jag kanske luska fram det :o)
------------------
*brölar ljudligt*
LarsGMedlem sedan dec. 200012 464 inlägg DBMS = database management system = databashanterare
T.ex sibas eller Access eller Oracle eller sql server eller db2 eller ...
var det det du undrade om?
------------------
essentitia preter non sans multiplicandum
ConnyFoxMedlem sedan aug. 20011 087 inlägg Aha jo jag misstänkte det men va inte säker så.. ;) Jag använder access 2000
------------------
*brölar ljudligt*
LarsGMedlem sedan dec. 200012 464 inlägg Det finns en randomfunktion i Access som heter rnd
Jag hittade det här exemplet
http://www.mvps.org/access/queries/qry0011.htm
------------------
essentitia preter non sans multiplicandum
ConnyFoxMedlem sedan aug. 20011 087 inlägg Jo jag blev tipsad om rnd innan men fick det inte att funka.. hur ska den användas då?
Ensligt sidan borde koden se ut ungefär såhär :
SQL = "SELECT top 10 * from links where randomizer() = 0 order by rnd(isnull(links.question) * 0 + 1)"
Blev error på rad 25 där RecSet.Open SQL, Connection, 3, 3 ligger
error texten :
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] Odefinierad funktion 'randomizer' i uttryck.
/StajlLinks 1.0/links_kategori.asp, rad 25
------------------
*brölar ljudligt*