Toon posts:

[php/mysql]optellen ??

Pagina: 1
Acties:
  • 49 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb tabel met de gegevens id, pollid, aantal_stemmen, antwoord

Uiteraard zijn deze ook ingevuld, maar ik heb alleen maar de gegevens uit aantal_stemmen nodig.

Stel ik weet de pollid, hoe kan ik dan de som berekenen van aantal_stemmen WHERE pollid=mijngegeven

dus in de tabel staat bijvoorbeeld dit

65, 7, 78, ja
66, 7, 64, nee


Ik geef als waarde pollid=7 mee, nu moet hij het liefst in 1 query uitrekenen dat 78+64=142

Is namelijk voor een poll

Kan dit? en hoe, moet dat met Select count, of hoe anders?

Verwijderd

id, pollid, aantal_stemmen, antwoord
select sum(aantal_stemmen) from TABELX where pollid=7 group by pollid

zoiets denk ik

Verwijderd

Je wilt dus een query waarin je een select maakt, en dan die waardes optelt ? Is het geen optie om die waarden m.b.v. php op te tellen ? De waardes kun je immers makkelijk in een array krijgen en vervolgens optellen.

  • Grum
  • Registratie: Juni 2001
  • Niet online
Op zaterdag 06 april 2002 10:38 schreef X-terior het volgende:
Je wilt dus een query waarin je een select maakt, en dan die waardes optelt ? Is het geen optie om die waarden m.b.v. php op te tellen ? De waardes kun je immers makkelijk in een array krijgen en vervolgens optellen.
Je database kan het sneller.

Verwijderd

Topicstarter
Ja, en hoe krijg ik dan het aantal op mijn scherm?

beetje leek nog in moeilijkere dingen dan heel erg basic :)

Verwijderd

select sum(aantal_stemmen) from TABELX where pollid=7 group by pollid

lijkt mij gewoon de oplossing

Verwijderd

Op zaterdag 06 april 2002 10:42 schreef Grum het volgende:

[..]

Je database kan het sneller.
Op zaterdag 06 april 2002 10:42 schreef Sinisa het volgende:
Ja, en hoe krijg ik dan het aantal op mijn scherm?

beetje leek nog in moeilijkere dingen dan heel erg basic :)
/me wacht nu vol interesse, zou dat namelijk ook graag weten.

Verwijderd

Topicstarter
huh?

Verwijderd

Wat wil je nou?

Ik geef je volgens mij al 2 keer de query die je zoekt.

  • Marten
  • Registratie: Juli 2001
  • Laatst online: 15-08-2025
Gewoon op dezelfde manier waarop je anders ook je data uit de database haalt. De column heet nu sum(...). Die kan je via php er wel uit halen. Doe anders gewoon via MySQLFront of phpMySQLAdmin een test-query, dan zie je wel wat er uit komt, en wat je dus moet programmeren in PHP.

Verwijderd

Topicstarter
zo?
code:
1
2
3
$mysql = mysql_query("select sum(aantal_stemmen) from poll2 where pollid=$idpoll group by pollid"); 
while ($regel = mysql_fetch_array($mysql)){
$aantal = $regel["sum(aantal_stemmen)"];}

Verwijderd

Topicstarter
Op zaterdag 06 april 2002 10:42 schreef Sinisa het volgende:
Ja, en hoe krijg ik dan het aantal op mijn scherm?

beetje leek nog in moeilijkere dingen dan heel erg basic :)
...zegt genoeg neem ik aan, hoef je niet boos te worden, ik snap het gewoon niet :'(

Verwijderd

Op zaterdag 06 april 2002 10:55 schreef Sinisa het volgende:
zo?
code:
1
2
3
$mysql = mysql_query("select sum(aantal_stemmen) from poll2 where pollid=$idpoll group by pollid"); 
while ($regel = mysql_fetch_array($mysql)){
$aantal = $regel["sum(aantal_stemmen)"];}
de while heb je niet nodig omdat je waarschijnlijk toch maar 1 antwoord terug krijgt
code:
1
2
3
$mysql = mysql_query("select sum(aantal_stemmen) from poll2 where pollid=$idpoll group by pollid"); 
$regel = mysql_fetch_row($mysql)
echo "Output: " . $regel[0];

edit:
array = row

Verwijderd

Topicstarter
Met de code die ik zojuist poste doet ie het gelukkig, hardstikke tnx iig, ook al heeft het frustrerend gewerkt

Verwijderd

KAn je ook in je database verschillende kollommen optellen


Bijv dat je in je tabel hebt getal 1 , getal 2 , getal 3


en je wilt een getal hebben met de 3 voorgaande erin opgeteld.

sum is denk ik om een rij op te tellen , dus is er ook een functie voor wat ik wil?

Verwijderd

Bijv dat je in je tabel hebt getal 1 , getal 2 , getal 3
select aap + noot + mies from TableX where id = $wantedID;

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Op zaterdag 06 april 2002 10:57 schreef EAB het volgende:
de while heb je niet nodig omdat je waarschijnlijk toch maar 1 antwoord terug krijgt
code:
1
2
3
$mysql = mysql_query("select sum(aantal_stemmen) from poll2 where pollid=$idpoll group by pollid"); 
$regel = mysql_fetch_row($mysql)
echo "Output: " . $regel[0];

edit:
array = row
Met fetch_array had het ook gewerkt :?

Rustacean


Verwijderd

Op zaterdag 06 april 2002 11:15 schreef EAB het volgende:

[..]

select aap + noot + mies from TableX where id = $wantedID;
de waarde heet dan ook gelijk getal1+getal2...etc of kan je er door een truukje zelf een naam aan geven ofzo :?

  • Grum
  • Registratie: Juni 2001
  • Niet online
Ik zie de goede oplossing niet voorbij komen ;)

Als je maar 1 veld ophaalt gebruik je
code:
1
$theFirstField = mysql_result($theResult, 0, 0)

als je der meerdere op zou halen en je krijgt een rotte column name dan rename je die IN je query met 'AS'
code:
1
select count(id) as num from table;

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

uhm dit lijkt me redelijk basic SQL
en de implementatie in php is dan vrij eenvoudig
Grum +1 behulpzaam

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.