Hallo,
Ik heb in mijn database, de datums als datetime erinstaan.
Nu heb ik daarvan alleen de datum nodig, dat heb ik zo opgelost:
DATE_FORMAT('$datum', '%d-%m-%Y') AS datum
Ik wil nu vergelijken met de datum uit het DB, en de datum van vandaag. Ik wil dat alleen de datums van vandaag geselecteerd worden. Nu heb ik al dit: (met een if else je opgelost!)
$result = mysql_query("SELECT DATE_FORMAT('datum', '%d-%m-%Y') AS datum FROM kopers WHERE DATE_FORMAT('datum', '%d-%m-%Y') = '".$datumnu."' AND $ip='".$_SERVER['REMOTE_ADDR']."' ORDER BY datum ") or die(mysql_error());
$result=mysql_query("SELECT DATE_FORMAT('datum', '%d-%m-%Y') AS datum FROM kopers WHERE DATE_FORMAT('datum', '%d-%m-%Y') = '".$datumnu."' AND $ip='".$_SERVER['REMOTE_ADDR']."' ORDER BY datum ") or die(mysql_error());
Maar hiermee, krijg ik niet alleen de datums die overheen komen, met de datum vandaag?
Weet iemand hier een oplossing voor?
SELECT datum, CASE WHEN DATEDIFF( CURRENT_DATE() , 'datum') = 0 THEN datum = 'nu' WHEN DATEDIFF( CURRENT_DATE() , 'datum') > 0 THEN datum ='later' FROM <table>
SELECT datum,CASE WHEN DATEDIFF( CURRENT_DATE(),'datum')=0 THEN datum ='nu' WHEN DATEDIFF( CURRENT_DATE(),'datum')>0 THEN datum ='later' FROM <table>
$result22 = mysql_query("
SELECT datum, CASE
WHEN DATEDIFF( CURRENT_DATE() , 'datum') = 0
THEN datum = 'nu'
WHEN DATEDIFF( CURRENT_DATE() , 'datum') > 0
THEN datum ='later' END
FROM kopers
") or die(mysql_error());
Heb al meerdere malen aangegeven om in de categorie MySQL even die twee tutorials door te lezen. (Blijkbaar lees je ze niet, of lees je met je oren of iets dergelijks)
Maar de vraag is hoe krijg ik die date format goed hierin verwerkt, wat dat lukte me niet. Ik heb je tutorial echt wel gelezen, en ik heb er ook best veel van geleerd.
Maar het lukt me niet dit te combineren?
$result22 = mysql_query("
SELECT DATE_FORMAT('datum', '%d-%m-%Y') AS datum, CASE
WHEN DATEDIFF( CURRENT_DATE() , 'datum') = 0
THEN datum = 'nu'
WHEN DATEDIFF( CURRENT_DATE() , 'datum') > 0
THEN datum ='later' END
FROM kopers
") or die(mysql_error());
$result22 = mysql_query("
SELECT DATE_FORMAT('datum', '%d-%m-%Y'), CASE
WHEN DATEDIFF( CURRENT_DATE() , 'datum') = 0
THEN datum = 'nu'
WHEN DATEDIFF( CURRENT_DATE() , 'datum') > 0
THEN datum ='later' END
FROM kopers
") or die(mysql_error());
$query = "
SELECT
CASE
WHEN DATEDIFF(CURRENT_DATE(), datum) = 0 THEN 'nu'
WHEN DATEDIFF(CURRENT_DATE(), datum) > 0 THEN 'later'
END AS wanneer
FROM
kopers
";
$result22 = mysql_query($query) or die(mysql_error());
$query="
SELECT
CASE
WHEN DATEDIFF(CURRENT_DATE(), datum) = 0 THEN 'nu'
WHEN DATEDIFF(CURRENT_DATE(), datum) > 0 THEN 'later'
He probleem, lag aan de quotes om datum (in de datediff), het is een kolom, dus daar moeten helemaal geen quotes om.
Verder gaf ik op het eind (bij AS) dezelfde naam, als de kolom heet.
Dit kan natuurlijk ook voor problemen zorgen.
Het probleem is opgelost, ik heb weer een heel hoop bij geleerd.
En bedankt voor jullie hulp
edit: nog 1 klein vraagje?
Kan ik ook het aantal correcte rijen tellen, kheb al dit geprobeerd:
COUNT(wanneer) AS teldatums, geeft aan dat kolom niet bestaat,
COUNT(datum) AS teldatums, geeft ook alle rijen en niet allen 'NU' en
mysql_num_rows, maar dan telt ie alle rijen, en niet alleen die van 'NU'