Gilbert Skrevet 24. mars 2004 Del Skrevet 24. mars 2004 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
Neo Skrevet 25. mars 2004 Del Skrevet 25. mars 2004 (endret) 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. Endret 25. mars 2004 av Neo Lenke til kommentar
audunr Skrevet 25. mars 2004 Del Skrevet 25. mars 2004 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå