login  Naam:   Wachtwoord: 
Registreer je!
 Forum

aantal records die vandaag zijn aangepast

Offline ElleRt - 12/08/2006 17:06 (laatste wijziging 12/08/2006 17:25)
Avatar van ElleRtMySQL interesse Ik heb een datum in de tabel staan en die datum staat als 10 getallen in de kolom gechreven.
De kolom is genaamd: aangepast

Nu wil ik graag een query maken die alle records optelt die vandaag gewijzigd zijn.

Hoe doe ik dit?

Kan ik dit simpel in 1 select query doen? Of moet ik dus eerst alles selecteren, en dan van de datum een date() maken, om vervolgens te kijken of de date van vandaag met de date die ik heb geselecteerd overeenkomt, en dan die resultaten optellen?

Graag hulp, ik kom er niet uit.


Ik zat zelf aan zoiets te denken:

  1. $datumvandaag = mktime();
  2. $dattumvandaag2 = "".date("d-m-Y", $datumvandaag)."";
  3.  
  4. $query = "SELECT COUNT(*) AS aantal FROM subdomeinen WHERE ".date("d-m-Y", aangepast)." > '$dattumvandaag2' )";
  5. {
  6. echo $aantal;
  7. }


Maar dat werkt niet.. Iemand enig idee hoe het wel kan?

11 antwoorden

Gesponsorde links
Offline Nrzonline - 12/08/2006 17:32 (laatste wijziging 12/08/2006 17:38)
Avatar van Nrzonline PHP ver gevorderde insert en update aangepast als date('d-m-Y')..

  1. <?PHP
  2. $qSelWijzig = mysql_query ("SELECT COUNT(*) FROM subdomeinen WHERE aangepast = '" . date('d-m-Y') . "'") or die (mysql_error ());
  3. echo mysql_result ($qSelWijzig, 0);
  4. ?>


Zo zou ik het ongeveer doen..

Ps.
  1. <?PHP
  2. $query = "SELECT COUNT(*) AS aantal FROM subdomeinen WHERE ".date("d-m-Y", aangepast)." > '$dattumvandaag2' )";
  3. {
  4. echo $aantal;
  5. }
  6. ?>

Je maakt $query alleen aan, maar voert hem nog niet uit he.. mysql_query ($query) moet er dan nog blij ;) Ten tweede 'AS' maakt er een object van, dus moet je hem uitladen als volgt:

  1. <?PHP
  2. $sQuery = "SELECT COUNT(*) AS aantal FROM subdomeinen WHERE ".date("d-m-Y", aangepast)." > '$dattumvandaag2' )";
  3. $qSelWijzig = mysql_query ($sQuery);
  4. while ($object = mysql_fetch_object($qSelWijzig))
  5. {
  6. echo $object->aantal;
  7. }
  8. ?>
Offline ElleRt - 12/08/2006 17:36
Avatar van ElleRt MySQL interesse Maar is het niet zo dat hij nu als het ware dit zegt:

Kijk daar en tel de datums op die hetzelfde zijn als: 12-08-2006

Maar: In mijn database staat geen 12-08-2006 maar daar staat een datum in 10 cijfers, dus bv: 1234567894

Dus resultaat zal zijn: 0

Snap i? Maar hoe kan ik dit wel goed doen?
Offline Nrzonline - 12/08/2006 17:40
Avatar van Nrzonline PHP ver gevorderde Van unix time naar gewone datum-tijd en dan alsnog controleren met de voorbeeld ik je heb gegeven..

Van unix naar normaal (en andersom): Script
Offline ElleRt - 12/08/2006 17:44
Avatar van ElleRt MySQL interesse Sorry, maar het is me nogsteeds niet duidelijk. Als ik bv het onderste voorbeeld in jouw vorige post gebruik krijg ik bv deze error:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/plezier/domains/startplezier.nl/public_html/stats.php on line 112

Ook met dat script kom ik er niet uit. Die had ik namelijk al gevonden.
Offline Nrzonline - 12/08/2006 17:49 (laatste wijziging 12/08/2006 18:53)
Avatar van Nrzonline PHP ver gevorderde // Dit stukje heb ik verijderd, aangezien mijn gegeven informatie hier NIET klopte. Mijn excuses.
Offline ElleRt - 12/08/2006 17:51 (laatste wijziging 12/08/2006 17:56)
Avatar van ElleRt MySQL interesse Dat is een kolom in de tabel. En daar staat de datum in wanneer het subdomein voor het laatst gewijzigd is. Ik wil dus het aantal subdomeinen dat vandaag gewijzigd is ophalen.

aangepast is dus de kolom, en daar staat de datum in wanneer deze is aangepast. Alleen staat hij er in als 10 cijfers.


Kijk, om alle subdomeinen op te halen doe ik dit:


  1. $query=mysql_query("SELECT COUNT( * ) FROM subdomeinen");
  2. while($naam = mysql_fetch_array($query)){
  3. echo $naam[0];
  4. }


Nu moet ik alleen nog kijken of de kolom aangepast ook de datum van vandaag is. Maar dat lukt dus niet.
Offline Nrzonline - 12/08/2006 18:48 (laatste wijziging 12/08/2006 18:52)
Avatar van Nrzonline PHP ver gevorderde ok, probeer het volgende
  1. <?PHP
  2. $sQuery = "SELECT COUNT(*) FROM subdomeinen WHERE '" . date ('d-m-Y', aangepast) . "' = '" . date('d-m-Y') . "'";
  3. $qSelWijzig = mysql_query ($sQuery);
  4. $iWijzig = mysql_result ($qSelWijzig);
  5. // dit kan natuurlijk ook met een object/array (AS) worden uitgelezen..
  6. ?>


Mijn exucuses voor verkeerde informatie, aangezien ik dat ('d-m-Y', aangepast) niet volledig snapte.. ik heb bij murfy om meer informatie hierover gevraagd, en dit lijkt mij de oplossing want:

hij zet de unix-time uit aangepast om in d-m-y opstelling, hetzelfde als de d-m-y stelling van vandaag.. en die controleerd hij met elkaar (=), wat zou moeten werken..
Offline Maarten - 12/08/2006 18:56 (laatste wijziging 12/08/2006 18:56)
Avatar van Maarten Erelid Bijna juist appelflap 
  1. <?PHP
  2. $sQuery = "SELECT COUNT(*) FROM subdomeinen WHERE DATE_FORMAT('%d-%m-%Y', aangepast) = '" . date('d-m-Y') . "'";
  3. $qSelWijzig = mysql_query ($sQuery);
  4. $iWijzig = mysql_result ($qSelWijzig);
  5. // dit kan natuurlijk ook met een object/array (AS) worden uitgelezen..
  6. ?>

Je hebt niet gezegd dat het om queries ging he 
Offline Nrzonline - 12/08/2006 18:58 (laatste wijziging 12/08/2006 19:00)
Avatar van Nrzonline PHP ver gevorderde Owja, thanks murfy.. reddende engel 
Nouja, als het goed is moet dat gewoon werken..
(Thnx voor het stellen van je vraag ElleRt, heb ik ook weer wat bijgeleerd =))

Owja, vergeet niet om er even 'or die (mysql_error ())' achter de query te gooien (alle zekerheid natuurlijk)
Offline ElleRt - 12/08/2006 20:33
Avatar van ElleRt MySQL interesse Ik heb hulp gekregen van iemand anders, en ben er eindelijk uit.
Dit heb ik als oplossing:

  1. <? $query=mysql_query("SELECT COUNT( * ) AS `aantal` FROM subdomeinen WHERE aangepast >= ".mktime(0, 0, 0, date("m"), date("d"), date("y"))." AND aangepast < ".mktime(0, 0, 0, date("m"), (date("d") + 1), date("y"))) or die(mysql_error());
  2. while($aantal = mysql_fetch_assoc($query)){
  3. echo $aantal['aantal'];
  4. } ?>


Nu kan ik eindelijk weer verder.

In ieder geval bedankt voor alle hulp.
Offline Gerard - 13/08/2006 03:11
Avatar van Gerard Ouwe rakker Die while-lus is niet nodig omdat een COUNT query maar 1 row returned met 1 field. Je kan hier beter gewoon gebruik maken van mysql_result($query, 0);
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.254s