php msql_num_rows fout

Status
Niet open voor verdere reacties.
ik heb net aangepast maar ik blijf echt 5 rije krijgen terwijl ik aleen de komende evenementen moet zien,,,, dat heb ik gedaan met de volgende regel [SQL] WHERE `date` >= '".$datumnow."'[/SQL] maarr dat werkt niet.... $datenow is in php de datum functie met een variable....
 
Dit is afhankelijk van hoe het veld staat ingesteld in mysql wel te verstaan
ik heb net aangepast maar ik blijf echt 5 rije krijgen terwijl ik aleen de komende evenementen moet zien,,,, dat heb ik gedaan met de volgende regel [SQL] WHERE `date` >= '".$datumnow."'[/SQL] maarr dat werkt niet.... $datenow is in php de datum functie met een variable....
NOW()

Returns the current date and time as a value in 'YYYY-MM-DD HH:MM:SS' or YYYYMMDDHHMMSS format, depending on whether the function is used in a string or numeric context.

mysql> SELECT NOW();
-> '1997-12-15 23:50:26'
mysql> SELECT NOW() + 0;
-> 19971215235026

NOW() returns a constant time that indicates the time at which the statement began to execute. (Within a stored routine or trigger, NOW() returns the time at which the routine or triggering statement began to execute.) This differs from the behavior for SYSDATE(), which returns the exact time at which it executes.

mysql> SELECT NOW(), SLEEP(2), NOW();
+---------------------+----------+---------------------+
| NOW() | SLEEP(2) | NOW() |
+---------------------+----------+---------------------+
| 2006-04-12 13:47:36 | 0 | 2006-04-12 13:47:36 |
+---------------------+----------+---------------------+

mysql> SELECT SYSDATE(), SLEEP(2), SYSDATE();
+---------------------+----------+---------------------+
| SYSDATE() | SLEEP(2) | SYSDATE() |
+---------------------+----------+---------------------+
| 2006-04-12 13:47:44 | 0 | 2006-04-12 13:47:46 |
+---------------------+----------+---------------------+

See the description for SYSDATE() for additional information about the differences between the two functions.

CURDATE()

Returns the current date as a value in 'YYYY-MM-DD' or YYYYMMDD format, depending on whether the function is used in a string or numeric context.



mysql> SELECT CURDATE();
-> '1997-12-15'
mysql> SELECT CURDATE() + 0;
-> 19971215
 
dat bedoel ik niet..... mijn sql geeft de tijd dd/mm/yy drm deed ik het met een php variable....
 
En dat is niet goed, een datum in SQL sla je op als DATE, een tijd als TIME en een combinatie daarvan als DATETIME.
 
maar wat ik nu doe is

$datenow is wel de goede variable... en dan met sql zoeken naar GROTER dan $datenow dan werkt het toch ook ?

en dat pakt hij niet en ik snap dat niet...
 
Laat je query eens echoën zodat je weet wat ie naar de database stuurt.
 
hoe bedoel je ???

wat ik nu krijg is gewoon alles of het nu groter of kleiner is dan $datenow
 
Kwestie van de query in een aparte variabele stoppen en die variabele echoën.

Blijkbaar is je query onjuist omdat het niet de resultaten oplevert welke jij wilt hebben.
Door te kijken wat er daadwerkelijk naar de database wordt gestuurd kun je controleren of dat wel goed is.
 
Je stuurt een verzoek om data terug te geven ;)

Elke query die je uitvoert verzend iets naar de database (namelijk de query-tekst) want anders weet de database niet dat ie iets terug moet geven.
 
/en hoe kun je dat testen met echo functie ?

die variable datenow klop0t die had ik zelf al een keer gechoy
 
PHP:
$query = "SELECT * FROM table";
echo $query;
$result = mysql_query($query);
if(!$result) {
  echo 'Er is een fout opgetreden! MySQL zegt: '. mysql_error();
} else {
  while($row = mysql_fetch_assoc($result)) {
    print_r($row);
  }
}
basis opzetje
 
dit krijg ik eruit... het klopt niet..;. hij pakt datums met het jaar 2009 eruit... maar dat klopt dus niet......




Code:
SELECT * FROM `schema` WHERE `date` >= '1/2/2010' ORDER BY `date` ASC LIMIT 0,5Array ( [id] => 110 [date] => 1/9/2009 [datesql] => [dag] => [genre] => activité [titre] => Intervaltraining [details] => Vanavond beginnen we dus om 19.39 uur bij Bert.
We lopen via de Blauwe Sluisweg naar Empel en terug via de Empelse weg, zie link.

http://www.afstandmeten.nl/index.php?id=259191 [afstandmeten] => [afstand] => [datumpost] => [tijdpost] => ) Array ( [id] => 128 [date] => 1/9/2009 [datesql] => [dag] => [genre] => activité [titre] => test01 [details] => we lopen rondje XD [afstandmeten] => 306846 [afstand] => [datumpost] => [tijdpost] => ) Array ( [id] => 132 [date] => 10/11/2009 [datesql] => [dag] => [genre] => activité [titre] => Korte intervaltraining [details] => Vanavond lopen we in naar de bussluis. Na een warming up gaan we 10(1 minuut snel, 1 minuut langzaam) lopen naar rotonde Maliskamp en vandaar naar het viaduct bij afslag Kruisstraat en vervolgens langs Mariaoord terug.

http://www.afstandmeten.nl/index.php?id=325480 [afstandmeten] => 325480 [afstand] => [datumpost] => [tijdpost] => ) Array ( [id] => 141 [date] => 10/12/2009 [datesql] => [dag] => [genre] => activité [titre] => Duurloop [details] => Vanavond lopen we een rondje Empel. [afstandmeten] => 328196 [afstand] => [datumpost] => [tijdpost] => ) Array ( [id] => 40 [date] => 10/2/2009 [datesql] => [dag] => [genre] => activité [titre] => duurloop volgens fartlek [details] => [afstandmeten] => [afstand] => [datumpost] => [tijdpost] => )
 
Lees dan nog een keer wat ik zei.

Een datum in SQL sla je op als DATE, een tijd als TIME en een datum + tijd als DATETIME.

Nu kijk je of string a groter is dan string b. Dat _kan_ niet, klaar, punt, period, over.

Eerst dus omzetten naar DATE en dáárna in je vergelijking CURRENT_DATE gebruiken. (WHERE date > CURRENT_DATE bijvoorbeeld).
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan