Statistik i php (räkna antalet som svarat si och så)

Här diskuteras programmering och utveckling
Användarvisningsbild
Victor
Inlägg: 425
Blev medlem: 12 okt 2006, 19:08
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Ort: Lund

Statistik i php (räkna antalet som svarat si och så)

Inlägg av Victor »

Tjatja!

Jag har gjort ett formulär där man svarar på 6 frågor (ni får gärna svara på frågorna). Nu vill jag enkelt ge lite statistik på vad folk har svarat, eller rättare sagt hur många som svarat på ett alternativ.

Varje fråga har ett eget fält i databasen (mysql).

Jag skulle kunna tänka mig något sånt här kanske?

Kod: Markera allt

$sql = 'SELECT `ett` FROM svar WHERE ett="alt1"'; 
och sedan någon funktion som räknar hur många som svarat alternativ 1 på första frågan, eller är jag helt ute och cyklar? Finns det något annat smidigare sätt?

Tack på förhand
Senast redigerad av 1 Victor, redigerad totalt 2 gånger.
// So long, and thank you for all the fish

"Your Ubuntu User number is # 10448"
Garyu
Inlägg: 21
Blev medlem: 04 feb 2006, 00:19
Ort: Umeå, Sweden
Kontakt:

SV: Statistik i php (räkna antalet som svarat si och så)

Inlägg av Garyu »

Ooh, undrar om R går att köra från php? Där har du ju riktig statistik, och diagram kan enkelt slängas ut som png, jpg eller pdf. Paketet "r-cran-dbi" kanske har nåt databas interface? Finns nåt bra för postgresql vet jag, men det kör ju inte du...

Jag är själv bara nybörjare på det här, så jag kan inte hjälpa till så mycket mer än så än. Hör av dig om nån månad eller två så ska jag ge en riktig lektion om hur man fixar alla statistiska behov som finns. ;-)
Klicka till vänster för att maila mig om du vill ha personlig hjälp med nåt
Användarvisningsbild
Victor
Inlägg: 425
Blev medlem: 12 okt 2006, 19:08
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Ort: Lund

SV: Statistik i php (räkna antalet som svarat si och så)

Inlägg av Victor »

Nja, det ska vara ren php..

Jag har hittat hur man skriver det i phpMyAdmin (SQL) och får då svaret utskrivet. Detta genom:

Kod: Markera allt

SELECT COUNT(*) FROM svar WHERE ett="alt1"
Men jag lyckas inte skriva ut svaret när jag skriver det i php..
// So long, and thank you for all the fish

"Your Ubuntu User number is # 10448"
Garyu
Inlägg: 21
Blev medlem: 04 feb 2006, 00:19
Ort: Umeå, Sweden
Kontakt:

SV: Statistik i php (räkna antalet som svarat si och så)

Inlägg av Garyu »

Bara så du vet, det du skriver för att fråga databasen är ett programspråk som heter SQL (structured query language). Du kan inte prata med en databas med bara PHP.

För att veta precis vilken fråga du ska ställa för att få fram antalet som svarat på ett visst sätt måste du tala om hur alla dina tabeller ser ut osv. Men det du får fram med count(*) är precis bara antalet som svarat på ett visst sätt. Du har ingen aning om hur tillförlitlig din information är. Genom att använda R får du fram intervall för 95% säkerhet och en massa annat roligt som ger en helt annan tyngd åt det du presenterar.
Klicka till vänster för att maila mig om du vill ha personlig hjälp med nåt
Användarvisningsbild
Victor
Inlägg: 425
Blev medlem: 12 okt 2006, 19:08
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Ort: Lund

SV: Statistik i php (räkna antalet som svarat si och så)

Inlägg av Victor »

Garyu skrev: Bara så du vet, det du skriver för att fråga databasen är ett programspråk som heter SQL (structured query language). Du kan inte prata med en databas med bara PHP.
Jag vet ;)
Garyu skrev: För att veta precis vilken fråga du ska ställa för att få fram antalet som svarat på ett visst sätt måste du tala om hur alla dina tabeller ser ut osv. Men det du får fram med count(*) är precis bara antalet som svarat på ett visst sätt. Du har ingen aning om hur tillförlitlig din information är. Genom att använda R får du fram intervall för 95% säkerhet och en massa annat roligt som ger en helt annan tyngd åt det du presenterar.
Jag har lyckas med det jag ville, men inte med R. Vad är R för funktion och hur använder jag den? På vilket sätt skulle inte den information jag fått fram stämma?
// So long, and thank you for all the fish

"Your Ubuntu User number is # 10448"
Garyu
Inlägg: 21
Blev medlem: 04 feb 2006, 00:19
Ort: Umeå, Sweden
Kontakt:

SV: Statistik i php (räkna antalet som svarat si och så)

Inlägg av Garyu »

När du bara räknar hur många som svarat på ett visst sätt så får du bara fram information om precis dom personer som deltagit i din undersökning. Du kan inte göra några som helst uttalanden om andra människor som inte svarat på dina frågor. De flesta som gör undersökningar vill ha svar på frågor som rör fler än just de som svarar på frågorna som ställs. Till exempel, inför ett val vill man ta reda på vilket parti som kan tänkas vinna. Själva valet är verkligheten, där alla får ge sin röst. Men innan själva valet slumpar man ut t.ex. 1000 personer som får rösta på samma sätt. Om dessa personer väljs ut på samma sätt som för valet (vi kan t.ex. inte fråga 1000 tyskar) kan man räkna ut fördelningen av hur man röstat och med hjälp av diverse statistiska funktioner få fram hur sannolikt det är att svenskarna som helhet röstar på ett visst sätt.

Vill du bara veta hur 10 personer i din förening tycker i en fråga, visst använd count bara. Men vill du dra slutsatser som gäller personer som inte var med och svarade på dina frågor, då måste du använda dig av statistik.

Statistiska funktioner kan man räkna "för hand" med penna och papper, eller miniräknare. Men vill man göra det snyggt använder man statistisk programvara på dator. R är ett sådant program, som innehåller en massa funktioner för att räkna ut saker. Paketen i Synaptic/apt-get/aptitude heter "r-cran-..." och tillför alla olika typer av funktionalitet till huvudprogrammet. Det finns massor av dokumentation om R på nätet, men själv har jag köpt mig en bok från amazon. Men som sagt, jag är bara nybörjare än så länge, så mycket mer än så kan jag inte säga.
Klicka till vänster för att maila mig om du vill ha personlig hjälp med nåt
Användarvisningsbild
Victor
Inlägg: 425
Blev medlem: 12 okt 2006, 19:08
OS: Ubuntu
Utgåva: 23.10 Mantic Minotaur
Ort: Lund

SV: Statistik i php (räkna antalet som svarat si och så)

Inlägg av Victor »

Oj, det var väldans mycket information :D Tack.

Dock ska vi "bara" ha svar från 100 personer och uppgiften vi fått är inte direkt i ämnet matte, så vi klarar oss med att använda funktionen count än så länge.

Jag har lyckas göra funktioner som räknar ut hur många som svarat vid ett visst alternativ.. Men tack för informationen och hjälpen!
// So long, and thank you for all the fish

"Your Ubuntu User number is # 10448"
Megamannen
Inlägg: 75
Blev medlem: 06 sep 2007, 19:50
Ort: Sverige

SV: Statistik i php (räkna antalet som svarat si och så)

Inlägg av Megamannen »

Vet inte hur du gjorde, men så här kan man göra:

$result = mysql_query(' SELECT COUNT(*) FROM svar WHERE ett="alt1" ');
$num_rows = mysql_num_rows($result);

echo "Antalet som svarade alt1 på fråga ett är $num_rows\n";
Software can become hardware!
KiviE
Inlägg: 2157
Blev medlem: 25 okt 2007, 14:00
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Luleå

SV: Statistik i php (räkna antalet som svarat si och så)

Inlägg av KiviE »

Har inte läst igenom hela tråden men jag skulle ha skrivit så här $result = mysql_query(' SELECT COUNT(*) as antal FROM svar WHERE ett="alt1" '); då blir antal ett nytt fält i databasen kan man säga där det står hur många som har svarat alt1... så den kan du skriva ut som vilket annat fält som helst.

men ska du bara räkna ut när ett="alt1"? inte de andra alternativen? eller ställer du flera liknande frågor?
Senast redigerad av 1 KiviE, redigerad totalt 31 gånger.
Skriv svar

Återgå till "Programmering och webbdesign"