Optellen
Hallo, Dit scripts zou dus 3 prijzen moetten optellen en toevoegen aan gebruikers maar nu heb ik het probleem dat het niet alleen prijs per gebruiker optelt maar gewoon alles van elke gebruiker optelt en dan tot_prijs overal hetzelfde is.
Weet iemand hoe ik dit kan oplossen
include 'mysql.php';
$query = "SELECT SUM(cms_users.d_prijs) as d_prijs, SUM(cms_users.s_prijs) as s_prijs, SUM(cms_users.v_prijs) as v_prijs, SUM(cms_users.tot_prijs) as tot_prijs FROM cms_users";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$totaal = $row['d_prijs'] + $row['s_prijs'] + $row['v_prijs'];
$totaal2= $totaal + $totaal2;
$query="UPDATE `cms_users` SET `tot_prijs`='$totaal2'";
mysql_query($query);
Weet iemand hoe ik dit kan oplossen
include 'mysql.php';
$query = "SELECT SUM(cms_users.d_prijs) as d_prijs, SUM(cms_users.s_prijs) as s_prijs, SUM(cms_users.v_prijs) as v_prijs, SUM(cms_users.tot_prijs) as tot_prijs FROM cms_users";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$totaal = $row['d_prijs'] + $row['s_prijs'] + $row['v_prijs'];
$totaal2= $totaal + $totaal2;
$query="UPDATE `cms_users` SET `tot_prijs`='$totaal2'";
mysql_query($query);
Volgens mij heb jij SUM niet echt nodig.
dit zou normaal totaal van elke rij moeten geven
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$query = "SELECT d_prijs, s_prijs, v_prijs, tot_prijs FROM cms_users";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
$totaal = $row['d_prijs'] + $row['s_prijs'] + $row['v_prijs'];
echo $totaal."<br />";
}
?>
$query = "SELECT d_prijs, s_prijs, v_prijs, tot_prijs FROM cms_users";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
$totaal = $row['d_prijs'] + $row['s_prijs'] + $row['v_prijs'];
echo $totaal."<br />";
}
?>
dit zou normaal totaal van elke rij moeten geven
Gewijzigd op 01/01/1970 01:00:00 door Mr.Moe
Je zult ook een gebruiker moeten selecteren lijkt me.
Want zoals Mr.Moe het nu heeft, pakt hij nog elke gebruiker
Want zoals Mr.Moe het nu heeft, pakt hij nog elke gebruiker
Gebruik dus WHERE.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$query = "SELECT d_prijs, s_prijs, v_prijs, tot_prijs FROM cms_users where id = '".$_GET['id']."'";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
$totaal = $row['d_prijs'] + $row['s_prijs'] + $row['v_prijs'];
echo $totaal."<br />";
}
?>
$query = "SELECT d_prijs, s_prijs, v_prijs, tot_prijs FROM cms_users where id = '".$_GET['id']."'";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
$totaal = $row['d_prijs'] + $row['s_prijs'] + $row['v_prijs'];
echo $totaal."<br />";
}
?>
@Roel,
Dat is heel erg onveilig, $_GET zomaar in een query stoppen.
@Ruben, gebruik dus op zijn minst mysql_real_escape_string() of alleen [ph]ctype_digit[/php](). Een integer kan namelijk nooit kwaad.
Dat is heel erg onveilig, $_GET zomaar in een query stoppen.
@Ruben, gebruik dus op zijn minst mysql_real_escape_string() of alleen [ph]ctype_digit[/php](). Een integer kan namelijk nooit kwaad.
@Roel,
Dat is heel erg onveilig, $_GET zomaar in een query stoppen.
@Ruben, gebruik dus op zijn minst mysql_real_escape_string() of alleen ctype_digit(). Een integer kan namelijk nooit kwaad.
Dat is heel erg onveilig, $_GET zomaar in een query stoppen.
@Ruben, gebruik dus op zijn minst mysql_real_escape_string() of alleen ctype_digit(). Een integer kan namelijk nooit kwaad.
Het probleem is dat dit script wordt uitgevoerd door apache via een cronjob dus en het toegepast moet worden op alle gebruikers dus ik kan het niet zomaar aan een gebruiker toewijzen.
'Ruben:
Het probleem is dat dit script wordt uitgevoerd door apache via een cronjob dus en het toegepast moet worden op alle gebruikers dus ik kan het niet zomaar aan een gebruiker toewijzen.
Ga dat eerst maar eens afleren.
Cronjobs heb je echt heel weinig nodig.
Gewoon als de pagina aangeroepen wordt het uitvoeren.
'Karl:
Ga dat eerst maar eens afleren.
Cronjobs heb je echt heel weinig nodig.
Gewoon als de pagina aangeroepen wordt het uitvoeren.
'Ruben:
Het probleem is dat dit script wordt uitgevoerd door apache via een cronjob dus en het toegepast moet worden op alle gebruikers dus ik kan het niet zomaar aan een gebruiker toewijzen.
Ga dat eerst maar eens afleren.
Cronjobs heb je echt heel weinig nodig.
Gewoon als de pagina aangeroepen wordt het uitvoeren.
Ik weet niet wanneer jij denkt geen cronjobs te gebruiken, maar ik gebruik ze dagelijks...
Ik weet goed dat ik cronjobs heel weinig nodig heb maar in mijn geval is het nodig om elke maand dat de service verlengt wordt het maandelijks bedrag erbij op te tellen.
PS: ik vergat te zeggen zonder SUM werkt er dus niks van.
PS: ik vergat te zeggen zonder SUM werkt er dus niks van.
sorry voor de dubbelpost ja ik weet het, Een vriend van mij had het over iets: foreach geen idee wat het is het betekent voor elk das wel wat ik nodig heb hij moet het per gebruiker uittellen en niet globaal.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
SELECT
SUM(cms_users.d_prijs) as tot_d_prijs,
SUM(cms_users.s_prijs) as tot_s_prijs,
SUM(cms_users.v_prijs) as tot_v_prijs,
SUM(cms_users.tot_prijs) as tot_tot_prijs
FROM cms_users
GROUP BY cms_users.gebruiker_id
SUM(cms_users.d_prijs) as tot_d_prijs,
SUM(cms_users.s_prijs) as tot_s_prijs,
SUM(cms_users.v_prijs) as tot_v_prijs,
SUM(cms_users.tot_prijs) as tot_tot_prijs
FROM cms_users
GROUP BY cms_users.gebruiker_id
Zo beter?
als ik group toevoeg gaat hij het voor elk doen??
'Midas:
@Roel,
Dat is heel erg onveilig, $_GET zomaar in een query stoppen.
@Ruben, gebruik dus op zijn minst mysql_real_escape_string() of alleen ctype_digit(). Een integer kan namelijk nooit kwaad.
Dat is heel erg onveilig, $_GET zomaar in een query stoppen.
@Ruben, gebruik dus op zijn minst mysql_real_escape_string() of alleen ctype_digit(). Een integer kan namelijk nooit kwaad.
Weet het, maar hij kan het zelf toch beter maken?
Tis alleen een voorbeeld ;)
Bij elk gebruiker_id telt hij alle d_prijs, s_prijs, v_prijs en tot_prijs op en geeft hij het totaal per *_prijs. Savvy?
bestaat er niet een functie als do foreach ofzo?
Nee.




