Gå til innhold

telle rader, assosiere med bruker og sette inn ant


Anbefalte innlegg

Altså.

 

Bakgrunn

 

Tabell chat inneholder id,av og text

 

Tidligere har jeg brukt "SELECT av,count(*) as antall FROM chat GROUP BY av ORDER BY antall desc LIMIT 0,5" for å finne ut hvem som er mest aktiv.

 

Men nå har jeg byttet litt om; og heller lagd en kolonne i tabell brukere som heter chat og som blir oppdatert med 1 hver gang brukeren skriver noe i "chatten".

 

Problemstilling

Jeg ønsker å overføre det gamle antallet chat-linjer inn i den nye kolonnen. Hver bruker (omtr. 2500) har skrevet inn mellom 500 og 2000 linjer hver, så å gjøre dette manuelt, er helt uaktuelt. Hvordan kan jeg gjøre dette? Grunnen til at jeg spør, er at jeg satser på at det skal gå bra i første forsøk. Er nemlig en prestisje å ligge blant topp 10 chattere, så hvis den dataen går tapt er det kjipt..... av i tabell chat tilsvarer id i tabell brukere

Lenke til kommentar
Videoannonse
Annonse

hva med å kjøre denne sql-setningen som du skrev:

SELECT av,count(*) as antall FROM chat GROUP BY av; 

#Lagre resultatet i en hash
#start løkke
...
UPDATE brukere SET chat = $bruker{$ant} 
WHERE bruker = "$bruker"

#slutt løkke

 

EDIT: (fjernet noe unødvendige greier) Skjønner ikke helt hvorfor jeg skulle lagre det i en fil. Var litt surrete. :roll:

Endret av Neo
Lenke til kommentar

Lag kopier av de to tabellene, og forsøk dette:

 

$result = mysql_query("SELECT av,count(*) as antall FROM chat GROUP BY av");

while ($row = mysql_fetch_assoc($result)) {
 mysql_query("UPDATE brukere SET chat=$row[antall] where BRUKERID(?) = $row[av]");
{

 

Den samme logikken som i Neo sitt forslag. Som du ser er det et spørsmålstegn her, for jeg vet ikke hva kolonnen i brukere som tilsvarer av i brukere heter.

 

MVH Audun

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...