Forum > Övriga serverspråk > PHP
Hallå.
Jag skulle vilja räkna ut den totala summan i en databastabell.
Jag har olika fält i databasen, svar1,svar2,svar3 osv.
Man kan svara antingen ja eller nej i vissa frågor och i andra frågor kan man svara 1-5.
Om jag har tre rader i databasen tex som har fått dessa svaren.
svar1 svar2
Ja 4
Nej 3
Ja 5
Då blir det ju två Ja och ett nej och den totala summan i svar2 blir ju 12
Då vill jag på något sätt skriva ut detta. Typ Det har kommit två ja och ett nej. resultatet på fråga två blev 12/15 då 15 är max värdet man kan få.
Hänger ni med på vad jag menar?
Hur skall jag tänka? Hur skall SQL frågan se ut? Det kan bli flera hundra rader tillslut i databasen så om det är 110 rader tillslut så skall det automatiskt räkna ut hur mycket max poängen är. Det har jag dock löst. Men ni fattar.
| Skriv utSum(svar1+svar2+svar3) i din SELECT fråga.
Men om du vill spara lite på prestandan så sparar du ner så sparar du ner resultatet vid din postning.
Eller är det rader du pratar om?
Misstänkte nästan att det var sum() jag skulle behöva använda. Jag har försökt skriva ihop en SQL-fråga men den ger mig fel.
$AntalSvar = mysql_result(mysql_query("SELECT sum(Svar1,Svar2,Svar3,Svar4,Svar5,Svar6,Svar7) FROM lm_evaluation_chef WHERE strCompany = '".$strCompany."'"),0) or die(mysql_error());
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in min-fil.php on line 29
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Svar2,Svar3,Svar4,Svar5,Svar6,Svar7) FROM lm_evaluation_chef W' at line 1
Var ligger felet? Och är jag på rätt väg eller tänker jag fel?
fel av mig
Du vill gruppera på ett fält som är gemensamt med tabellerna du vill summera:
SELECT sum(field1).... FROM table GROUP BY Field
Löste det. Med massa hjälp av Voigtan. SQL frågan blev tillslut såhär.
$AntalTotalt = mysql_fetch_assoc(mysql_query("
SELECT
sum(Svar1) s1,
sum(Svar2) s2,
sum(Svar3) s3,
sum(Svar4) s4,
sum(Svar5) s5,
Company
FROM
lm_evaluation_chef
WHERE
Company = '". $strCompany ."'
GROUP BY
Company"));
Får tacka för alla hjälp på skype.