[mysql] poll code

Pagina: 1
Acties:

  • HappyFun
  • Registratie: Mei 2001
  • Niet online
Ik probeer de statistieken te laten zien van de poll 1.
Ik wil dus de naam op halen, en tellen hoeveel er op die is gevote. Maar hij haalt nu telkens het totaal aantal votes op. Ok, ik zeg ook dat hij dat moet doen ( :) ), maar hoe moet ik zeggen dat hij het goed doet?
code:
1
2
3
4
5
6
7
8
9
10
11
        SELECT
            poll_keuzes.tekst, count(poll_reacties.keuze)
        FROM
            poll_keuzes,poll_reacties
        WHERE
            poll_keuzes.poll_id=1
        AND
            poll_reacties.poll_id=1

        GROUP BY
            poll_keuzes.keuze_id

CREATE TABLE poll_keuzes (
id mediumint(30) NOT NULL auto_increment,
poll_id mediumint(30) DEFAULT '0' NOT NULL,
keuze_id tinyint(1) DEFAULT '0' NOT NULL,
tekst varchar(100) NOT NULL,
PRIMARY KEY (id),
KEY id (id)
);

CREATE TABLE poll_reacties (
id tinyint(4) NOT NULL auto_increment,
poll_id tinyint(4) DEFAULT '0' NOT NULL,
userid int(30) DEFAULT '0' NOT NULL,
keuze tinyint(1) DEFAULT '0' NOT NULL,
PRIMARY KEY (id)
);

Defunctus Deo Juvente


  • Jelmer
  • Registratie: Maart 2000
  • Laatst online: 21:22
Dit komt waarschijnlijk door de group by. Deze gooit alles met id=1 op 1 hoop, inclusief de teksten. Probeer dit eens (group by poll_keuzes.tekst)
code:
1
2
3
4
5
6
7
8
9
10
        SELECT
            poll_keuzes.tekst, count(poll_reacties.keuze)
        FROM
            poll_keuzes,poll_reacties
        WHERE
            poll_keuzes.poll_id=1
        AND
            poll_reacties.poll_id=1
        GROUP BY
            poll_keuzes.tekst

Als dit niet is wat je wil weten, moet je toch ff proberen je vraag wat duidelijker te formuleren... Geef trouwens dan ook ff wat uitvoer enzo en hoe je het wil hebben..

  • HappyFun
  • Registratie: Mei 2001
  • Niet online
Nee, krijg hetzelfde resultaat..

Defunctus Deo Juvente


Verwijderd

Volgens mij moet je een GROUP BY op je poll_id doen.
Voor een bepaald poll_id wil je toch het aantal weten?

  • HappyFun
  • Registratie: Mei 2001
  • Niet online
Nee, werkt ook niet.
Ik wil weten hoeveel er op elke is gestemd dus:
keuze 1: 6
keuze 2: 4
keuze 3: 2

nu krijg ik:
keuze 1: 12
keuze 2: 12
keuze 3: 12

Defunctus Deo Juvente


Verwijderd

code:
1
SELECT COUNT(poll_reacties.keuze) FROM poll_keuzes WHERE poll_keuzes.poll_id=1

Zoiets?
Het ging toch alleen om het aantal stemmen?

Verwijderd

en een group by op poll_id, keuze_id

Verwijderd

Kom je er zo uit dan?

  • HappyFun
  • Registratie: Mei 2001
  • Niet online
Zal het moeten testen of het werkt. Dat kan nu niet.
Maar ik wil dus van elke keuze van een bepaald topic weten hoevaak er op gestemd is.

Defunctus Deo Juvente

Pagina: 1