webForumDet fria alternativet

Antal artiklar per skribent

12 svar · 291 visningar · startad av Bj

BjMedlem sedan sep. 2000314 inlägg
#1

Går det att via "namn" i en tabell räkna ut hur många artiklar varje skribent har skrivit?

QuazzoMedlem sedan juli 2001324 inlägg
#2

Re: Antal artiklar per skribent

Bj skrev:

Går det att via "namn" i en tabell räkna ut hur många artiklar varje skribent har skrivit?

Det ska inte vara så svårt...även om det är bättre om du har ett id att söka på...

hur ser "namn" ut och vad har du för relationer ?

agneta_rungMedlem sedan juli 2002145 inlägg
#3

Om du med tabell menar databastabell där du har en rad per artikel och kolumnen namn innehåller skribentens namn ser SQL-frågan ut så här:

select namn, count(namn)
from artikeltabell
group by namn
OveRRidEMedlem sedan feb. 200112 078 inlägg
#4

Flyttas till SQL-forumet. :)

BjMedlem sedan sep. 2000314 inlägg
#5

Jag tror vi får ta det här från början.
Hänger inte riktigt med. Med ovanstående kod får jag felmeddelande att case saknas...

voigtann1Medlem sedan juni 20019 519 inlägg
#6

kan beror på att du inte har 'namn' eller 'artikeltabell'

ändra detta till dina värden istället...

BjMedlem sedan sep. 2000314 inlägg
#7

jodå, "namn" är med och tabellen heter "nyheter" vilket jag ändrat till....

agneta_rungMedlem sedan juli 2002145 inlägg
#8

Berätta mera! Vad har du för databashanterare? Hur ser anropande kod ut? Kan du köra frågan direkt mot databasen? Exakt hur lyder felmeddelandet? Varifrån verkar det komma, databasfel eller asp-fel? Etc...

ViktorMedlem sedan aug. 20021 752 inlägg
#9

Om du får ett fel att "case" saknas så tyder det på att du bara har lagt in SQL satsen i din kod. Den kod som agneta_rung postade är en SQL sats, dvs har inget med PHP eller ASP att göra.

/Viktor

BjMedlem sedan sep. 2000314 inlägg
#10

Jag hade lite skräp kvar i testfilen från en inloggning... därav konstiga felmeddelanden....sorry
Så här ser min kod ut.

<%
Set RecSet = Server.CreateObject("ADODB.Recordset")
Rakna = "select namn, count(namn)from nyheter group by namn"
RecSet.Open Rakna, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
%>

<% =RecSet("namn") %><br>

<%
RecSet.MoveNext
Loop
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
%>

Då visas namnen på dem som hitills lagt in artiklar. Men hur kan man få fram hur många som varje person lagt in?

agneta_rungMedlem sedan juli 2002145 inlägg
#11

SQL-frågan returnerar ju två kolumner. I den första ligger namn och i den andra ligger antal rader som varje unikt namn förekommer på. Nu är jag ute på djupt vatten - har inte skrivit många rader asp-kod i mitt liv - men kan man inte i stället för RecSet("namn") skriva RecSet.Fields(0).value? Och för den andra kolumnen blir det i så fall Rec RecSet.Fields(1).Value...

BjMedlem sedan sep. 2000314 inlägg
#12

Hua Agneta! Om du är ute på djupt vatten så står jag förmodligen fast i dyn upp till knäna.
Men visst funkade ditt förslag.. Så här ser det ut.

<%
Set RecSet = Server.CreateObject("ADODB.Recordset")
Rakna = "select namn, count(namn)from nyheter group by namn"
RecSet.Open Rakna, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
%>

<% =RecSet.Fields(0).value %> - <% =RecSet.Fields(1).value %> st<br>

<%
RecSet.MoveNext
Loop
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
%>
agneta_rungMedlem sedan juli 2002145 inlägg
#13

Ujujuj, jag som försöker hålla mig ifrån det där Web-träsket...
Nu får jag väl snart börja odla hästsvans!! :birp

134 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)