ik zit met een beetje behoorlijk lastig script. het is namelijk zo dat ik een overzichtje wil kunnen printen iedere maand met alle inkomsten enz. en ik heb 2 tabellen die daarvoor gebruikt moeten worden. namelijk de tabel bestellingen en de tabel bedragen. de volgende gegevens worden hieruit gehaald.
en ik wil per dag weergeven hoeveel er is binnengekomen enz. oftewel de totaalbedragen optellen, en dat per dag weergeven. maar het probleem zit hem erin dat er meer dan 1 bestelling per dag binnenkomt. ik ben al heel wat aan het proberen geweest, maar het lukt maar niet.
uiteraard komt er later nog een formpje bij om de maand te kunnen kiezen.
EDIT: het resultaat van dit script is dat de eerste bestelling van die dag wordt weergegeven en dat dan op elke dag, dus er staat 31 keer hetzelfde totaalbedrag onder elkaar met de nummers 1 t/m 31 ervoor.
en daarna nog eens 31 keer voor de rest van de dagen. in totaal staan er dus 31x31 regels onder elkaar.
dus bijv.
dag 1 is als eerste bestelling voor 5 euro besteld
dag 2 is als eerste bestelling voor 15 euro besteld
dan wordt er weergegeven
1 - 5,00
2 - 5,00
3 - 5,00
t/m
31 - 5,00
1 - 15,00
2 - 15,00
3 - 15,00
t/m
31 - 15,00
ik heb de code van haytjes geprobeerd, en daar komt het volgende uit:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/stefan/domains/elektronica-onderdelen.nl/public_html/admin/boekhouding/resultaten.php on line 19
zou dit misschien komen omdat er nog aangegeven moet worden uit welke tabel totaalbedrag enz gehaald moet worden?
ik ga nu eerst de methode van Vintage even proberen
$query = mysql_query(
"SELECT sum(totaalbedrag) as tot_bedrag,
sum(verzendkosten) as tot_verzend,
sum(korting) as tot_korting,
sum(btw) as tot_btw,
sum(winst) as tot_winst,
bestellingen.datum as datum
FROM bestellingen, bedragen
WHERE bestellingen.datum >= '".$begindatum."' AND
bestellingen.datum <= '".$einddatum."' AND
bestelling.id = bedragen.bestellingsID
GROUP BY bestellingen.datum");
$query = mysql_query(
"SELECT sum(totaalbedrag) as tot_bedrag,
sum(verzendkosten) as tot_verzend,
sum(korting) as tot_korting,
sum(btw) as tot_btw,
sum(winst) as tot_winst,
bestellingen.datum as datum
FROM bestellingen, bedragen
WHERE bestellingen.datum >= '".$begindatum."' AND
bestellingen.datum <= '".$einddatum."' AND
bestelling.id = bedragen.bestellingsID
GROUP BY bestellingen.datum") or die(mysql_error());
ik heb eerst nog even bestellingen.id gemaakt van bestelling.id want dat moet inderdaad meervoud zijn, maar dat maakte geen verschil wat betreft foutmelding.
met de nieuwe code geeft hij het volgende:
Column: 'verzendkosten' in field list is ambiguous
<?
include('includeSecurity.php');
$begindatum = '2006-01-01';
$einddatum = '2006-01-31';
$query = mysql_query(
"SELECT sum(bedragen.totaalbedrag) as tot_bedrag,
sum(bedragen.verzendkosten) as tot_verzend,
sum(bedragen.korting) as tot_korting,
sum(bedragen.btw) as tot_btw,
sum(bedragen.winst) as tot_winst,
bestellingen.datum as datum
FROM bestellingen, bedragen
WHERE bestellingen.datum >= '".$begindatum."' AND
bestellingen.datum <= '".$einddatum."' AND
bestellingen.id = bedragen.bestellingsID
GROUP BY bestellingen.datum") or die(mysql_error());
while($row = mysql_fetch_object($query))
{
?><table>
<tr><td><?=$row->datum?></td>
<td>€ <?=$row->tot_bedrag?></td>
<td>€ <?=$row->tot_verzend?></td>
<td>€ <?=$row->tot_korting?></td>
<td>€ <?=$row->tot_btw?></td>
<td>€ <?=$row->tot_winst?></td></tr>
</table><?
}
?>