Effe een vraagje hoop dat iemand me kan helpen.
ik zoek een script die uit het database de opgegeven getallen op telt. bijv.

INSERT INTO `gewerkt` VALUES (1, '2006', 'April', '27', '12', '8.20', 'Martin Nutbeij');
INSERT INTO `gewerkt` VALUES (6, '2006', 'Februari', '14', '8', '8.20', 'Martin');
INSERT INTO `gewerkt` VALUES (10, '2006', 'Februari', '14', '12', '8.20', 'Martin');
INSERT INTO `gewerkt` VALUES (11, '2006', 'Februari', '28', '8', '8.20', 'Martin');

nu moet de script alle 8.20 optellen
en de uitkomst op de website weergeven.
weet iemand iets ??
thx
Martin schreef op 16.04.2006 22:25
het bedrag kan trouwen varieren dus alleen 8.20 moet niet alleen op tellen maar ook andere bedragen


wat bedoel je hiermee?
Of is 8.20 het uurloon?
Als dat zo is dan wordt het volgens mij:

"SELECT SUM(uren*uurloon) FROM blaat WHERE enz
Klaasjan schreef op 16.04.2006 22:28
@JAN
Dat weet ik maar anders krijg ik de gegevens nooit op het scherm. Oftewel hoe krijg je dan de gegevens op het scherm?

@Mebus wat jij doet is het aantal rijen tellen en dat geeft 1. Hij wil het totaal van uren dus SUM(uren)


idd maar dat uren sum geeft hij dus niet helaas
dit is de mysql script

CREATE TABLE `gewerkt` (
`id` int(10) NOT NULL default '0',
`jaar` varchar(100) NOT NULL default '',
`maand` varchar(200) NOT NULL default '',
`dag` varchar(100) NOT NULL default '',
`uren` varchar(100) NOT NULL default '',
`salaris` varchar(4) NOT NULL default '',
`gebruiker` varchar(200) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

en het uur tarief kan varieren bij voorbeeld vandaag 8.20 per uur en een andere keer 18.10 enz.
snap je

wel echt top voor jullie hulp !
Ik weet niet of he wel mag rekenen met een VARCHAR
En ik weet niet of mysql dit ondersteund maar je kunt het proberen

SELECT SUM(uren*uurloon) TO INT FROM blaat WHERE enz

en zet het veld van de uren en uurloon anders een op INT (integer) ipv VARCHAR (zeg maar alles mag)
Klaasjan schreef op 16.04.2006 22:28
@JAN
Dat weet ik maar anders krijg ik de gegevens nooit op het scherm. Oftewel hoe krijg je dan de gegevens op het scherm?


while ($info=mysql_fetch_array($res))

veranderen in:

if ($info=mysql_fetch_array($res))

of gewoon:

$info=mysql_fetch_array($res)

Maar bij nader inzien zal het niet veel uitmaken. Die while werkt eigenlijk altijd wel.
@JAN
ben blij dat te horen :)
Heb jij trouwens nog ideen over dat optellen en weet jij iets van Veld manipulatie in een Querie?
Bij zoals in Oracle SELECT datum TO DATE (dd-mm-YYYY)
is zoiets in Mysql ook toegestaan?
Ja, maar dan met DATE_FORMAT(datum, '%d-%m-%Y') AS mijn_datum
Ok maar kan dat ook van CHAR naar bijv INT.
In handboek kon ik het niet vinden :(
Bedoel je typecasting in MySQL? Dat lijkt me niet de aangewezen manier. Dan mankeert er meestal iets aan je datamodel. Overigens ben ik niet ingelezen in het topic hoor ;-)
Even teruggelezen:

CREATE TABLE `gewerkt` (
`id` int(10) NOT NULL default '0',
`jaar` varchar(100) NOT NULL default '',
`maand` varchar(200) NOT NULL default '',
`dag` varchar(100) NOT NULL default '',
`uren` varchar(100) NOT NULL default '',
`salaris` varchar(4) NOT NULL default '',
`gebruiker` varchar(200) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

daar heb je het foute datamodel. Jaar, maand en dag kunnen allemaal in een veld type DATETIME

Uren, moeten in een float of in een double.
Salaris, zelfde verhaal.

edit: en ik mis ook auto_increment op de primary key
Heb dit geprobeerd maar geeft als uit komst 1.

$sel = mysql_query("SELECT SUM(uren*salaris) FROM gewerkt WHERE gebruiker='".$row_userdata['voornaam']." ".$row_userdata['achternaam']."' and jaar='$p_jaar' and maand='$p_maand'");
$count = mysql_num_rows($sel);

weet het nie meer hoor

Reageren