login  Naam:   Wachtwoord: 
Registreer je!
 Forum

kliks optellen

Offline nielsvdwal - 02/07/2006 11:53
Avatar van nielsvdwalPHP gevorderde heej,

Ik heb even een probleempje waar ik niet uitkom, en ik kon niet echt een goede titel bedenken. Ik heb een mysql tabel dat er ongeveer zo uitziet:

id | kliks
----------
1 | 56
2 | 45

etc.

Ik wil dan alle kliks bij elkaar optellen, maar ik zou niet weten hoe ik dat het makkelijkst zou kunnen doen. Kan iemand mij helpen?^^

Alvast bedankt.

23 antwoorden

Gesponsorde links
Offline rickwieman - 02/07/2006 11:58
Avatar van rickwieman Onbekend
  1. <?php
  2.  
  3. $sql = mysql_query("SELECT * FROM `kliktabel`");
  4.  
  5. while($fetch = mysql_fetch_object($sql)) {
  6. $tel = $fetch->kliks + $tel;
  7. }
  8.  
  9. echo $tel;
  10.  
  11. ?>


Zoiets?

Grz,
Rick.
Offline nielsvdwal - 02/07/2006 12:04
Avatar van nielsvdwal PHP gevorderde het werkt perfect bedankt 
Offline WumTol - 02/07/2006 12:07
Avatar van WumTol PHP beginner
  1. <?php
  2. echo @mysql_result(mysql_query("SELECT SUM(kliks) FROM tabel"), 0);
  3. ?>
Offline Voldemort - 02/07/2006 12:08
Avatar van Voldemort PHP ver gevorderde Zorg dat je veld een INT veld is (TINYINT, INT, BIGINT, etc), anders kloppen de berekeningen niet altijd.
Offline nielsvdwal - 02/07/2006 12:12
Avatar van nielsvdwal PHP gevorderde jaja, dat snap ik, maar nu heb ik een ander probleempje 

  1. <?
  2. $datum_vandaag = mktime(0,0,0,date("m"),date("d"),date("Y"),time());
  3. $stats_vandaag_1 = mysql_query("SELECT * FROM log WHERE datum='".$datum_vandaag."'") or die(mysql_error());
  4. echo mysql_num_rows($stats_vandaag_1);
  5. ?>


is er iets fout aan dit stukje? want er komt nu 0 te staan. ook al weet ik zeker dat er vandaag al "geklikt" is..
Offline WumTol - 02/07/2006 12:16 (laatste wijziging 02/07/2006 12:17)
Avatar van WumTol PHP beginner
  1. <?
  2. $datum_vandaag = mktime(0,0,0,date("m"),date("d"),date("Y"));
  3. $stats_vandaag_1 = mysql_query("SELECT * FROM log WHERE datum='".$datum_vandaag."'") or die(mysql_error());
  4. echo mysql_num_rows($stats_vandaag_1);
  5. ?>
Offline rickwieman - 02/07/2006 12:17
Avatar van rickwieman Onbekend Check je phpMyAdmin eens... staat daar ook een 0?

grz,
Rick.
Offline nielsvdwal - 02/07/2006 12:26
Avatar van nielsvdwal PHP gevorderde werkt nog steeds niet, nog steeds komt er 0 te staan, en er moet op zijn minst 1 komen te staan, omdat elke keer als ik het check, dan word het weer geupdated in mijn database, dus het zou dan gewoon minimaal 1 moeten zijn. (dat laatste stukje code is trouwens om te kijken hoeveel unieke bezoekers er vandaag zijn geweest).
Offline rickwieman - 02/07/2006 12:40
Avatar van rickwieman Onbekend Maar is je INSERT script wel goed dan? Post dat ook eens...

Grz,
Rick.
Offline nielsvdwal - 02/07/2006 12:47
Avatar van nielsvdwal PHP gevorderde ja die is goed want het staat ook goed in de database, en als ik de pagina nog een keer bezoek word die ook goed geupdated. dus dat is het probleem niet.
Offline rickwieman - 02/07/2006 12:51
Avatar van rickwieman Onbekend
  1. <?
  2. $datum_vandaag = date("m-d-Y");
  3. $stats_vandaag_1 = mysql_query("SELECT * FROM log WHERE datum='".$datum_vandaag."'") or die(mysql_error());
  4. echo mysql_num_rows($stats_vandaag_1);
  5. ?>


Probeer die datum eens te regelen met date(); zoals hierboven... (laat trouwens eens zien hoe de datum in de DB staat)

Grz,
Rick.
Offline nielsvdwal - 02/07/2006 12:53 (laatste wijziging 02/07/2006 12:55)
Avatar van nielsvdwal PHP gevorderde met time() erin gezet.. dus met date("d-m-Y", $datumuitdatabase) haal ik hem eruit. zal het eens proberen, ben banggg... dat het niet lukt.

edit: werkt niet 
Offline rickwieman - 02/07/2006 12:56
Avatar van rickwieman Onbekend Hmm... en als je hem er met date() in zet:

  1. <?php
  2. $datumvoorindb = date("Y-m-d h:i:s");
  3. ?>


en hem er ook zo uit haalt.

Werkt dat wel?

Grz,
Rick.

Offline nielsvdwal - 02/07/2006 12:58
Avatar van nielsvdwal PHP gevorderde dat ga ik niet doen want dan kan ik niet meer sorteren etc.
Offline rickwieman - 02/07/2006 13:01 (laatste wijziging 02/07/2006 13:02)
Avatar van rickwieman Onbekend id | kliks | datetime
1 | 35 | 2006-07-02 12:59:00

  1. <?php
  2. $datumtijd = date("Y-m-d h:i:s");
  3.  
  4. $sql = mysql_query("SELECT * FROM `kliktabel` WHERE `datetime` = '" . $datumtijd . "' ORDER BY `id` DESC");
  5. ?>


Oh nee? Maak een index aan op `id` en een auto_increment, en je zult zien dat je toch kunt sorteren 

Grz,
Rick.
Offline nielsvdwal - 02/07/2006 13:02
Avatar van nielsvdwal PHP gevorderde op datum sorteren lukt dan niet. en DAT wil ik, en het is niet de bedoeling dat ik mijn hele database om ga gooien, ik wil met time() werken.
Offline rickwieman - 02/07/2006 13:04
Avatar van rickwieman Onbekend Tja... dan kan ik je niet verder helpen... maar ik denk persoonlijk dat sorteren op `id` makkelijker is dan sorteren op datum en vervolgens de hele toestand niet kan lezen...

Grz,
Rick.
Offline nielsvdwal - 02/07/2006 13:06 (laatste wijziging 02/07/2006 13:23)
Avatar van nielsvdwal PHP gevorderde nee, dat is in mijn geval niet makkelijker, aangezien ik zodadelijk gegevens uit meerdere tabellen onder elkaar wil zetten en die sorteren op datum, als ik dat doe met id, dan heb ik hele tijd dubbele id's omdat het 2 verschillende tabellen zijn dus allebei tellen ze apart de id's.

edit: opgelost:

  1. <?
  2. <?
  3. $stats_vandaag_1 = mysql_query("SELECT * FROM log") or die(mysql_error());
  4. $i = 0;
  5. while ($stats_vandaag = mysql_fetch_array($stats_vandaag_1))
  6. {
  7. $vandaag = date("d-m-Y");
  8. $database = date("d-m-Y", $stats_vandaag['datum']);
  9. if ($database == $vandaag)
  10. {
  11. $aantal_bezoekers = $i++;
  12. }
  13. else
  14. {
  15. //niks
  16. }
  17. }
  18. echo $i;
  19. ?>
Offline Gerard - 02/07/2006 13:56
Avatar van Gerard Ouwe rakker
  1. SELECT COUNT(1)
  2. FROM log
  3. WHERE datum BETWEEN UNIX_TIMESTAMP(CURRENT_DATE() || ' 00:00:00')
  4. AND UNIX_TIMESTAMP(CURRENT_DATE() || ' 23:59:59')
Offline nielsvdwal - 02/07/2006 14:00
Avatar van nielsvdwal PHP gevorderde ohw, dat gebruik ik de volgende keer wel, ziet er toch iets korter uit 

maar hoe kan ik dan bijvoorbeeld van een week selecteren?
Offline Gerard - 02/07/2006 14:04
Avatar van Gerard Ouwe rakker http://dev.mysq...tions.html
Offline nielsvdwal - 02/07/2006 14:09
Avatar van nielsvdwal PHP gevorderde lol, ik hou het toch maar bij mijn eigen manier 
Offline Gerard - 02/07/2006 14:50
Avatar van Gerard Ouwe rakker je kan die 2 best combineren. zolang je maar niet die manier met die while-loop aanhoud want dat is echt belachelijk slecht voor je renderingtijd.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.261s