login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Gegevens uit hele tabel (Opgelost)

Offline larssy1 - 10/04/2009 12:53
Avatar van larssy1MySQL beginner Hoi mensen,

Ik ben bezig met mijn site. Maar nu zit ik even met een probleempje.
Ik heb teveel dingen aan mijn hoofd, en nu ben ik even vergeten hoe ik iets moet doen >.<

Ik heb in de database "gebruikers" een kolom staam genaamt "gebelt"

Maar nu ben ik dus vergeten hoe ik deze gegevens van alle gebruikersophaal, en deze bij elkaar optel.

Ik zat eerst te denken aan dit:
  1. $dbres = mysql_query("SELECT `gebelt` FROM `gebruikers`") OR die (mysql_error());
  2.  
  3. $gebelt = $dbres;


Dit is natuurlijk compleet verkeerd maar vraagje of jullie misschien weten hoe ik dit moet doen.

Mvg
Lars

17 antwoorden

Gesponsorde links
Offline Koen - 10/04/2009 12:55
Avatar van Koen PHP expert Als je de inhoud van "gebelT" wilt ophalen dan gebruik je 'SUM()', anders 'COUNT()'.

PS: Het is trouwens gebelD 
Offline NTS64 - 10/04/2009 12:56 (laatste wijziging 10/04/2009 12:56)
Avatar van NTS64 PHP gevorderde
  1. $dbres = mysql_query("SELECT SUM(gebelt) FROM gebruikers") or die(mysql_error());
  2. echo mysql_result($dbres, 0, 0); // totaal
Offline larssy1 - 10/04/2009 12:57 (laatste wijziging 10/04/2009 12:57)
Avatar van larssy1 MySQL beginner nee hoort gebelt :O kijk maar in woordenboek :O
Offline Koen - 10/04/2009 13:01
Avatar van Koen PHP expert
larssy1 schreef:
nee hoort gebelt :O kijk maar in woordenboek :O


http://nl.wiktionary.org/wiki/bellen
Offline NataschaV - 10/04/2009 13:07
Avatar van NataschaV PHP interesse Het is gebeld
't kofschip-x
De l staat er niet in, dus D.

Natascha
Offline larssy1 - 10/04/2009 13:07 (laatste wijziging 10/04/2009 13:41)
Avatar van larssy1 MySQL beginner ups, niks gezegt XD of is dit soms gezegd? :x XD

maar uhm, wat doe ik hier verkeerd, hij geeft namenlijk bij btw 1,00 euro aan, en bij totale donatie -1,00 euro

  1. $gebelt = mysql_result($dbres, 0); // totaal
  2.  
  3. $gekregen = number_format(round($gebelt * 1.30),2,",",".");
  4. $afgave = number_format(round($gebelt * 0.30),2,",",".");
  5. $btw = number_format(round($gekregen * 0.16),2,",",".");
  6.  
  7. $donatie1 = number_format(round($gekregen - $afgave),2,",",".");
  8. $donatie = number_format(round($donatie1 - $btw),2,",",".");


En hoe reset je ook alweer ID? er was een manier om dat te doen, dat ie niet meer ineens vanaf 100 begint ofzo
Offline NTS64 - 10/04/2009 13:30
Avatar van NTS64 PHP gevorderde Bedoel je dat je bijvoorbeeld 100 id's hebt en de 20 laatste verwijderd hebt? Als je wilt dat hij dan verder telt vanaf 80 ipv 100, voer je volgende query uit:

  1. ALTER TABLE tablename AUTO_INCREMENT = 80


En is $donatie = -1.00?
Dan is je probleem puur wiskundig en moet je eens nagaan of je niet vermenigvuldigt met een negatief getal
Offline larssy1 - 10/04/2009 13:33
Avatar van larssy1 MySQL beginner nou, voordat ik jou code toevoegde, deed hij het gewoon,

maar, nu krijg ik in 1x -1, dus het kan niet aan mijn wiskunde liggen.
Offline Koen - 10/04/2009 13:35
Avatar van Koen PHP expert Staan er ergens negatieve getallen in je database?
Echo ook elke variabele waarmee je werkt, dan weet je meteen waar het fout gaat.
Offline larssy1 - 10/04/2009 13:43
Avatar van larssy1 MySQL beginner hoe bedoel je,, echo?
op wat van manier?

Nee, geen negatiefe waardes, de laagste waarde is 0, en alle waarders heb ik eve random wat neergezet,

Dit geeft hij weer in de uitvoer:
Keer gebelt: 3733 x
-----------------
Gekregen: € 4.853,00
Afgave: € 1.120,00
BTW(16%): € 1,00
-----------------
Totale Donatie: € 3,00

met deze code erachter:
  1. $gebelt = mysql_result($dbres, 0); // totaal
  2.  
  3. $gekregen = number_format(round($gebelt * 1.30),2,",",".");
  4. $afgave = number_format(round($gebelt * 0.30),2,",",".");
  5. $btw = number_format(round($gekregen * 0.16),2,",",".");
  6.  
  7. $donatie1 = number_format(round($gekregen - $afgave),2,",",".");
  8. $donatie = number_format(round($donatie1 - $btw),2,",",".");
Offline NTS64 - 10/04/2009 13:52
Avatar van NTS64 PHP gevorderde sliphead bedoelt dat je $gebelt eens naar het scherm schrijven met PHP.net: echo, zo kan je kijken wat de waarde ervan is.
Of beter nog, PHP.net: var_dump, zo kan je ook het datatype te weten komen
Offline larssy1 - 10/04/2009 14:03 (laatste wijziging 10/04/2009 14:04)
Avatar van larssy1 MySQL beginner Laat maar, weet al wat het probleem is.

de php opties konden niet de 2decimale getallen goed aflezen.

ik heb het dus als volgt opgelost:
  1. $gebelt = mysql_result($dbres, 0);
  2.  
  3. $gekregen1 = $gebelt * 1.30;
  4. $gekregen = number_format(round($gekregen1),2,",",".");
  5.  
  6. $afgave1 = $gekregen1 * 0.30;
  7. $afgave = number_format(round($afgave1),2,",",".");
  8.  
  9. $btw1 = $gekregen1 * 0.16;
  10. $btw = number_format(round($btw1),2,",",".");
  11.  
  12.  
  13. $donatie1 = $gekregen1 - $afgave1;
  14. $donatie2 = $donatie1 - $btw1;
  15. $donatie = number_format(round($donatie2),2,",",".");


complimentje aanmezelf en bedankje aan woedi 
Offline NTS64 - 10/04/2009 14:06
Avatar van NTS64 PHP gevorderde Nu ik jou code zie, bedenk ik opeens dat number_format een string retourneert, waar je niet correct berekeningen mee kan gaan maken
Offline larssy1 - 10/04/2009 14:30
Avatar van larssy1 MySQL beginner haha XD

Maar nu moet ik nog me ID in me database opnieuw hebben :x
Die tabel heeft natuurlijk een unieke waarde, maar kheb vaak een test char gemaakt, en die dan gedelete, maar nu begint hij bijv in 1x bij ID op 45, hoe reset ik dat , zodat het gewoon weer bij 1 begint?
Offline NTS64 - 10/04/2009 14:33 (laatste wijziging 10/04/2009 14:33)
Avatar van NTS64 PHP gevorderde Zoals ik eerder al zei(maar nu dan vanaf 1):
  1. ALTER TABLE tablename AUTO_INCREMENT = 1
Offline Koen - 10/04/2009 14:35
Avatar van Koen PHP expert Of gewoon je tabel legen 
Offline larssy1 - 10/04/2009 14:55
Avatar van larssy1 MySQL beginner oke ty mensen 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.222s