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
Link gekopieerd
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 !
Link gekopieerd
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)
Link gekopieerd
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.
Link gekopieerd
@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?
Link gekopieerd
Ja, maar dan met DATE_FORMAT(datum, '%d-%m-%Y') AS mijn_datum
Link gekopieerd
Ok maar kan dat ook van CHAR naar bijv INT.
In handboek kon ik het niet vinden :(
Link gekopieerd
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 ;-)
Link gekopieerd
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
Link gekopieerd
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
Link gekopieerd