sum query plaatsen in variabel
Zit de hele ochtend al te puzzelen,
Ik heb een mysql query welke goed gaat rechtstreeks op de database :
SELECT (Sum(Time_to_Sec(tf2))) FROM db2010 WHERE member_id = 3 AND merknad = 'vakantie'
Hiermee krijg ik op de database te zien hoeveel seconde er in totaal in tf2 zit.
Maar ik krijg dit met geen mogelijkheid in een variabele...
Wie kan me opweg helpen...probeerde oa dit :
Ik heb een mysql query welke goed gaat rechtstreeks op de database :
SELECT (Sum(Time_to_Sec(tf2))) FROM db2010 WHERE member_id = 3 AND merknad = 'vakantie'
Hiermee krijg ik op de database te zien hoeveel seconde er in totaal in tf2 zit.
Maar ik krijg dit met geen mogelijkheid in een variabele...
Wie kan me opweg helpen...probeerde oa dit :
Wat bedoel je? Je wilt het resultaat een naam geven?
Dan is het
SELECT Sum(Time_to_Sec(tf2)) AS geefHetEenNaam FROM db2010 WHERE member_id = 3 AND merknad = 'vakantie'
db2010 doet trouwens denken aan een fout datamodel.
Dan is het
SELECT Sum(Time_to_Sec(tf2)) AS geefHetEenNaam FROM db2010 WHERE member_id = 3 AND merknad = 'vakantie'
db2010 doet trouwens denken aan een fout datamodel.
http://www.w3schools.com/sql/sql_alias.asp
En ga de rest ook maar leren.
En ga de rest ook maar leren.
Nee, dat lukt me ook niet.
De waarde die ik dus rechtstreeks op de database kan bevragen, wil ik graag ik een variable plaatsen. Maar krijg het niet voor elkaar...
wat bedoel je eigelijk met
: db2010 doet trouwens denken aan een fout datamodel
@ Karl, ga lekker in de zon zitten ofzo...als je het allemaal zo goed weet en kan alleen zo commentaar leveren moet je niet in het beginners forum zitten...daaaaag..
De waarde die ik dus rechtstreeks op de database kan bevragen, wil ik graag ik een variable plaatsen. Maar krijg het niet voor elkaar...
wat bedoel je eigelijk met
: db2010 doet trouwens denken aan een fout datamodel
@ Karl, ga lekker in de zon zitten ofzo...als je het allemaal zo goed weet en kan alleen zo commentaar leveren moet je niet in het beginners forum zitten...daaaaag..
John van der Linden op 28/07/2010 14:19:10:
Nee, dat lukt me ook niet.
Want?
John van der Linden op 28/07/2010 14:19:10:
De waarde die ik dus rechtstreeks op de database kan bevragen, wil ik graag ik een variable plaatsen. Maar krijg het niet voor elkaar...
Die link al gelezen?
John van der Linden op 28/07/2010 14:19:10:
wat bedoel je eigelijk met
: db2010 doet trouwens denken aan een fout datamodel
: db2010 doet trouwens denken aan een fout datamodel
Alsof je dingen opslaat in een database voor dit jaar, en volgend jaar weer een nieuwe db aanmaakt. Je kunt alles gewoon in dezelfde db dumpen.
John van der Linden op 28/07/2010 14:19:10:
@ Karl, ga lekker in de zon zitten ofzo...als je het allemaal zo goed weet en kan alleen zo commentaar leveren moet je niet in het beginners forum zitten...daaaaag..
Ja, als beginner moet je juist zoveel mogelijk leren / lezen
Wat krijg je met var_dump($fd); nadien te doen?
Daarnaast kan je ook dit doen als je maar 1 waarde uit je query wenst te halen:
Daarnaast kan je ook dit doen als je maar 1 waarde uit je query wenst te halen:
echo $fd['geefHetEenNaam'];
Gewijzigd op 28/07/2010 14:26:00 door John D
@ Hipska : Dit lukt wel, alleen krijg ik geen juiste waarde terug. De juiste waarde krijg ik wel als ik de query rechtstreeks los laat op de database... de waarde die ik terug krijg is wel een getal,w aar dan drie keer zo groot ongeveer....
@ John : geen resultaat, geef niks weer...
@ John : geen resultaat, geef niks weer...
Zoals al eerder gezegd: gebruik een alias. Lees deze vervolgens uit...
Uiteraard zonder foutafhandeling, dat mag je zelf nog toevoegen.
ps. Dit zou hetzelfde moeten geven als de oplossing van Hipska. Als die waarde niet klopt, klopt je query dus niet...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$sql = "
SELECT (SUM(TIME_TO_SEC(tf2))) AS totaal
FROM db2010
WHERE member_id = 3
AND merknad = 'vakantie'
";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
echo $row['totaal'];
?>
$sql = "
SELECT (SUM(TIME_TO_SEC(tf2))) AS totaal
FROM db2010
WHERE member_id = 3
AND merknad = 'vakantie'
";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
echo $row['totaal'];
?>
Uiteraard zonder foutafhandeling, dat mag je zelf nog toevoegen.
ps. Dit zou hetzelfde moeten geven als de oplossing van Hipska. Als die waarde niet klopt, klopt je query dus niet...
hmmm, zoals we te verwachten was werkt het nu wel :-)...
Bedankt allemaal maar weer ...!!
even puzellen wat die alias nou precies doet, dacht dat het alleen gebruikt wordt om sneller te lezen en te schrijven...
Bedankt allemaal maar weer ...!!
even puzellen wat die alias nou precies doet, dacht dat het alleen gebruikt wordt om sneller te lezen en te schrijven...
Nee, als je een berekening in een query uitvoert, zul je het resultaat wel een naam moeten geven. Anders kun je hem nooit selecteren als je de resultaatset associatief fetcht (dus mysql_fetch_assoc() gebruikt). Die naam is de alias...
oke....supert ! en bedankt




