Hej Stefan
Dit eksempel fungerer ikke helt!
Disse to linier kode returnerer begge værdien 1 - og det stemmer ikke overens mine data i MySql...
Jep, jeg har lavet en fejl i koden. Det skyldes at jeg beder mysql, om at tælle alle rækker (count) og returnere antallet i en række. Derefter tæller jeg antallet af rækker, som selvfølgelig kun er 1.
Så er fejlen forklaret, jeg kan komme med en rettelse senere - hvis der ikke er andre der har hjulpet dig inden da.
Edit:
Denne kode er testet:
- <?php
-
- include 'database.php';
-
- $res = mysql_query("select count(*) from bsu");
- $total_antal = mysql_result($res,0,'count(*)');
-
- $sql1="SELECT q1val, count(*) FROM bsu GROUP BY q1val";
- $resultat1=mysql_query($sql1);
-
- ?>
-
- <h1>Question 1</h1>
-
- <table class="stat1">
- <tr>
- <td class="name">Antal besvarelser med værdi 1</td>
- <td class="numbers"><?php echo mysql_result($resultat1,0,'count(*)');?></td>
- <td class="numbers"><?php echo (mysql_result($resultat1,0,'count(*)')/$total_antal)*100;?></td>
- </tr>
- <tr>
- <td class="name">Antal besvarelser med værdi 2</td>
- <td class="numbers"><?php echo mysql_result($resultat1,1,'count(*)');?></td>
- <td class="numbers"><?php echo (mysql_result($resultat1,1,'count(*)')/$total_antal)*100;?></td>
- </tr>
- </table>
Udtræk fra phpmyadmin:
- SELECT q1val, count( * )
- FROM bsu
- GROUP BY q1val
-
- q1val count(*)
- 1 7
- 2 3
Hej igen
Jeg kan få din kode til at virke på mine data - mange tak!
Mit problem er dog ikke helt løst, da min problemstilling ikke løses 100% med din kode - men det er min egen fejl, da jeg har været upræcis i de forudsætninger jeg har givet. I min uvidenhed troede jeg at mit eksempel var beskrivende nok til at finde en løsning.
Når jeg kører sql-koden "SELECT q1val, count(*) FROM bsu GROUP BY q1val" i MySql får jeg følgende resultat:
q1val / count(*)
1 / 3
3 / 13
5 / 3
I min "q1val-kolonne" kan der optræde værdier fra 1 til 5 (måske endnu højere værdier i fremtiden). Som det ses af udtrækket fra min db, er der ingen poster med værdierne 2 og 4.
Med din kode, hvor jeg fanger værdi 0 og 1 får jeg altså antallet af værdier for 1 og 3. Jeg har brug for at kunne opstille en tabel med "antal" og "procent" for værdierne 1,2,3,4 og 5.
Kan man enkelt udvide din kode så jeg kan lave denne udregning og opstilling for de mulige værdier (1 til 5)?