Goedennacht,
Ik ben een script aan het schrijven voor mijn website dat rekeningen moet genereren.
Dit wordt middels een cron-job gedaan en wordt iedere maand opgeroepen om verbruik van de voorgaande maand te verzamelen en met deze gegevens een rekening te genereren.
Het script werkte totdat ik de volgen functie schreef, of laat ik het beter formuleren. Het script werkt, maar deze functie gaat in de war.
De bedoeling van deze functie is om een array op te bouwen van gebruikers dat afgelopen maand iets hebben verbruikt, dit wordt gedaan middels de SQL (distinct) query. Deze query geeft als resultaat de user id's terug die in de database tabel voorkomt. PHP ziet alleen de eerste regel van de (nu) twee regels in de resultset.
Met de query is niks mis, deze geeft de juiste resultaten terug als ik het opdracht in SQL Browser invoer.
Ik heb de foreach() functie van PHP geprobeerd, maar ik kwam er al snel achter dat deze niet werkte omdat mysql_fetch_assoc() maar een regel van de resultset ziet.
De while() functie zou in theorie eigenlijk een loop moeten uitvoeren totdat die door alle regels in de resultset heen is. Maar dat gebeurt hier niet.
Misschien komt het door de tijd, of ik heb nu een (grote) blunder gemaakt.
Kan iemand mij helpen met de onderstaande code?
Bij voorbaat dank,
Oguzhan
PS. De CollectInvoiceData() genereerd de data voor de factuur en geeft dus een multi-demensional array terug. Echter wordt er maar een array geprint op de test pagina.
Voorbeeld van doel:
Huidige toestand:
Ik ben een script aan het schrijven voor mijn website dat rekeningen moet genereren.
Dit wordt middels een cron-job gedaan en wordt iedere maand opgeroepen om verbruik van de voorgaande maand te verzamelen en met deze gegevens een rekening te genereren.
Het script werkte totdat ik de volgen functie schreef, of laat ik het beter formuleren. Het script werkt, maar deze functie gaat in de war.
De bedoeling van deze functie is om een array op te bouwen van gebruikers dat afgelopen maand iets hebben verbruikt, dit wordt gedaan middels de SQL (distinct) query. Deze query geeft als resultaat de user id's terug die in de database tabel voorkomt. PHP ziet alleen de eerste regel van de (nu) twee regels in de resultset.
Met de query is niks mis, deze geeft de juiste resultaten terug als ik het opdracht in SQL Browser invoer.
Ik heb de foreach() functie van PHP geprobeerd, maar ik kwam er al snel achter dat deze niet werkte omdat mysql_fetch_assoc() maar een regel van de resultset ziet.
De while() functie zou in theorie eigenlijk een loop moeten uitvoeren totdat die door alle regels in de resultset heen is. Maar dat gebeurt hier niet.
Misschien komt het door de tijd, of ik heb nu een (grote) blunder gemaakt.
Kan iemand mij helpen met de onderstaande code?
Bij voorbaat dank,
Oguzhan
PHP:
function UsersLastMonth(){
$sql="SELECT DISTINCT `user` FROM `smslog`";
$sql=mysql_query($sql);
$rows=mysql_num_rows($sql);
$users=mysql_fetch_assoc($sql);
#return($sql);
$debug=array();
while($row=mysql_fetch_assoc($sql)){
$debug[]=CollectInvoiceData($row['user']);
}
return $debug;
}
PS. De CollectInvoiceData() genereerd de data voor de factuur en geeft dus een multi-demensional array terug. Echter wordt er maar een array geprint op de test pagina.
Voorbeeld van doel:
Code:
array
0 =>
array
'u' => 6,
'p' =>
array
2 =>
array
...
'a' =>
array
2 =>
array
...
array
1 =>
array
'u' => 7,
'p' =>
array
2 =>
array
...
'a' =>
array
2 =>
array
...
Huidige toestand:
Code:
array
0 =>
array
'p' =>
array
2 =>
array
...
'a' =>
array
2 =>
array
...
't' =>
array
0 => int 3000
2 => int 3000