Jag vill att man ska se hur många inlägg användaren har skrevit på forumen totalt. Jag har satt det som session("posts")
Och vill veta hur man Uppdatera en session eller om man ska göra det på något attat sätt.. iallfall.. när man posta ett inlägg eller starta nytt så ska den lägga datan i en databas som heter
posts
men det är där inte användar informationen finns den finns där det heter members
Hur ska man ungefär göra?
Post är "TAL" i access... om det gör någon skillnad
skymanMedlem sedan juli 20012 450 inlägg För varje inlägg som görs, hämta posts, plussa på 1 och spara igen.
posts=session("posts")
posts=posts+1
session("posts")=posts
erkaMedlem sedan dec. 19996 522 inlägg Varför skapa en session för det varför inte göra en count på specifik användare ? Sessioner ska man snåla med och bara använda där de verkligen behövs
Jepp, räkna istället ihop hur många inlägg personen skrivit varje gång det ska presenteras.
jag vet att session var ett dåligt val.. så jag skrev här..
hur gör man det ni säger?
erkaMedlem sedan dec. 19996 522 inlägg Ja du exakt när ska du visa hur många inlägg en användare har gjort i forumet ? är det en topplista med de som postar mest eller något dylikt, eller ska du alltid visa användaren hur många inlägg han själv har postat
recset.recordcount
är det så man ska skriva eller??? Hjälp!
@ndersMedlem sedan juni 200032 969 inlägg Det enklaste är väl att ställa en SELECT COUNT - fråga.
typ:
strSQL = "SELECT COUNT(*) AS Antal FROM tblTabell WHERE UserID = 123"
Mvh,
så här?:
<% strSQL = "SELECT COUNT(*) AS Antal FROM inlagg WHERE skrivbent = "& Recset("posteduser")%>
vad ska "antal" vara? och hur skriver man ut detta?
@ndersMedlem sedan juni 200032 969 inlägg Är skrivbent ett talfält så, ja.
Antal är det fältnamn som jag valde.
När du har kört sql-frågan refererar du bara till det som vilket annat fältnamn som helst med objRS("Antal") eller vad du nu kallar ditt recordset.
jag e helt borta.. har aldrig varit bra med SQL satser.. så det räker typ att skriva det jag har skrevit ovan..
och sen bara skriva RECSET("ANTAL") eller måste man mixtra med koden?
@ndersMedlem sedan juni 200032 969 inlägg Exekvera SQL-frågan på precis samma sätt som du exekverar dina andra SQL-frågor, det är ingen skillnad. Du får tillbaka ett recordset med en post, en kolumn som heter Antal.
så här?:
<%
SQL = " COUNT(*) AS Antal FROM inlagg WHERE skrivbent = "& RS2("skribent")
Set RS4 = Databas.Execute(SQL)
%>
??????
@ndersMedlem sedan juni 200032 969 inlägg Ja, med tillägget:
Response.write "Du har gjort " & RS4("Antal") & ", inlägg ju!"
Om skrivbent är av typen tal, ett id till exempel, det har inte framgått.
Mvh,
får felet:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
/voigtan/config/readpost.asp, line 17
Rad 17:
Set RS4 = Databas.Execute(SQL)
jag använder namn inte tal
@ndersMedlem sedan juni 200032 969 inlägg Hm. Varför har du tagit bort SELECT ur frågan?
Det såg jag inte förrän nu.
@ndersMedlem sedan juni 200032 969 inlägg Om skrivbent är av texttyp så skall du ha apostrofer runt värdet i SQL-frågan.
SQL = "SELECT COUNT(*) AS Antal FROM inlagg WHERE skrivbent = '"& RS2("skribent") &"'"
hmm.. fan.. nu blev det jobbigt.. varför tog jag bort den?
tog dit den igen:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2.
/voigtan/config/readpost.asp, line 17
SQL = "SELECT COUNT(*) AS Antal FROM inlagg WHERE skrivbent = '"& RS2("skribent") &"'"
Set RS4 = Databas.Execute(SQL)
@ndersMedlem sedan juni 200032 969 inlägg Kontrollera att tabell- och fältnamn stämmer. Felmeddelandet säger att varken eller är korrekt. ;)
Mvh,