login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Berekening maken met een array (Opgelost)

Offline Ruultje - 28/03/2010 20:42 (laatste wijziging 28/03/2010 21:50)
Avatar van RuultjeNieuw lid Ik probeer een berekening te maken middels een array. Deze werkt met twee database tables. In een tabel zet ik wat ik van iets aan voorraad heb in die ander wat weg is uit de voorraad. Nu vul ik per maand in wat weggaat. Hiermee wordt de berekening gemaakt. Hij kijkt dan de rest van de maand (per week) vooruit wat er aan voorraad overblijft bij iedere week.

Dus stel ik heb voor bijvoorbeeld een schrijfblok 50 in voorraad. In die maand gaan er 20 weg. Dan heb ik in week 1 50 blokken. In week 2 is het dan 50 - 20, . Bij week 2 moet dan dus 30 staan, bij week 3 moet er dan 10 staan en week 4 is het dan -10. Maar die min getallen wil ik er uiteraard niet in. De berekening zelf gaat wel goed, alleen gaat hij dus met negatieve getallen rekenen.

Ik heb nu even geen idee hoe ik dit eruit kan halen. Kan ook niet veel hierover vinden want dan wordt ik doorverwezen naar rekenfora. Lijkt mij niet de oplossing.

Dit is wat ik heb aan code.

  1. $sql = "SELECT product_id ,EXTRACT(week FROM datum) AS week,
  2. SUM(aantal) AS totaal, COUNT(product_id) AS aantal
  3. FROM voorraad
  4. GROUP BY product_id, week
  5. ORDER BY product_id";
  6. $result = mysql_query($sql);
  7.  
  8. while ($row = mysql_fetch_assoc($result)) {
  9. $product = $row['product_id'];
  10. $week = $row['week'];
  11.  
  12.  
  13.  
  14. $tabelquery="SELECT stock_id, aantal_verkocht, aantal
  15. FROM voorraad
  16. INNER JOIN verkocht ON verkocht.productid = voorraad.product_id
  17. WHERE WEEK(datum, 1) = '$week' AND product_id = '$product' AND aantal > 0
  18. ORDER BY datum_verkocht DESC LIMIT 1";
  19. $resultaat12=mysql_query($tabelquery12);
  20. $row12=mysql_fetch_array($resultaat12);
  21.  
  22.  
  23. $weeks[0] = $row12['aantal'] - $row12['aantal_verkocht'];
  24. $wk1 = $row12['aantal_verkocht'] * 2;
  25. $weeks[1] = $row12['aantal'] - $wk1;
  26. $wk2 = $row12['aantal_verkocht'] * 3;
  27. $weeks[2] = $row12['aantal'] - $wk2;
  28. $wk3 = $row12['aantal_verkocht'] * 4;
  29. $weeks[3] = $row12['aantal'] - $wk3;
  30. $wk4 = $row12['aantal_verkocht'] * 5;
  31. $weeks[4] = $row12['aantal'] - $wk4;
  32.  
  33.  
  34. foreach ($weeks as $weeknummer => $aantal)
  35. {
  36.  
  37. if ($weeknummer >= 0)
  38. {
  39. echo $aantal. " <br>";
  40. }
  41. else
  42. {
  43. echo " 0 <br>";
  44. }
  45. }
  46. }


Ik heb het al uitgevonden. Moest ipv if ($weeknummer >= 0) deze pakken if ($aantal >= 0)

Nu is het goed. Maar ik vraag mij wel af of het zo juist is? Stel ik wil gewoon die berekening voor 53 weken maken (bijvoorbeeld dat er maar 1x in de 2 maanden nieuwe verkochte aantallen worden ingevuld) dan wordt dit wel een erg lange code.

3 antwoorden

Gesponsorde links
Offline Jelmerholland - 28/03/2010 23:07 (laatste wijziging 28/03/2010 23:08)
Avatar van Jelmerholland PHP beginner offtopic,
53 weken?
365 / 7 = 52.1
Dus 52 weken en een 16uur ofzo, dus waar haal jij week 53 vandaan?

ontopic,
als het probleem is opgelost, dan kan je op de 'oplossing' knop drukken, dan verdwijnt het uit de lijst aan de rechterkant, scheelt weer forumchecks 

En je moet van '<br>' even '<br/>' maken, want het is 1 tag, en elke tag moet afgesloten worden ;)

Verder, i've got no clue, sorry


vinTage schreef:
wie zegt dat hij een xhtml doctype gebruikt? dus <br> kan best goed zijn 
Offline avdg - 28/03/2010 23:12
Avatar van avdg PHP gevorderde offtopic:
Probeer de ik-vorm meer te vermijden en ga meteen over naar het probleem, en maak het probleem kort, overzichtelijk en interessanter. Waar reageer je het liefst op? "Ik probeer te zoeken naar de oplossing van 6 en 4 samen" of "Weet er iemand wat de uitkomst is van 6+4"
Offline Ruultje - 29/03/2010 22:27
Avatar van Ruultje Nieuw lid
Jelmerhollan schreef:
offtopic,
53 weken?
365 / 7 = 52.1
Dus 52 weken en een 16uur ofzo, dus waar haal jij week 53 vandaan?

ontopic,
als het probleem is opgelost, dan kan je op de 'oplossing' knop drukken, dan verdwijnt het uit de lijst aan de rechterkant, scheelt weer forumchecks 

En je moet van '<br>' even '<br/>' maken, want het is 1 tag, en elke tag moet afgesloten worden ;)

Verder, i've got no clue, sorry


[..quote..]


Over zijn algemeen. Afgelopen jaar waren er bijvoorbeeld 53 weken. Omdat 1 januari ergens midden in de week was. Doel dus niet op het aantal dagen maar puur op de weeknummers.

Ben er overigens nog niet helemaal uit. Ik moet een foreach in een foreach maar krijg het niet aan de praat, momenteel.

<br> heb ik naar <br /> gezet in ieder geval.

En avdg... Ik weet het. Dat wordt mij vaker 'verweten'. Ik zal er aan werken ;)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.341s