Komende 7 agendapunten uit het db halen!
Dus als er gisteren een feest was, dan mag die vandaag niet meer in de agende te voor schijn komen. Maar hij zal dus ook soms, agenda punten van de volgende maand erbij moeten pakken, anders kom je niet aan de 7.
Nu ben ik al zover met deze code:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$cafezaalagenda = mysql_query("
SELECT * FROM cafezaalagenda
WHERE concat(datumjaar,datummaand,datumdag) >= '".time()."'
ORDER BY concat(datumjaar,datummaand,datumdag)
LIMIT 7") or die (MySQL_Error());
?>
$cafezaalagenda = mysql_query("
SELECT * FROM cafezaalagenda
WHERE concat(datumjaar,datummaand,datumdag) >= '".time()."'
ORDER BY concat(datumjaar,datummaand,datumdag)
LIMIT 7") or die (MySQL_Error());
?>
Nu laat hij wel de komende 7 agenda punten zien, maar die van gisteren staat er nog wel bij? Wat heb ik over het hoofd gezien? :S
Mss zal dit beter lukken : date
time -- Geef de huidige UNIX timestamp
Jij hebt nodig:
date, en dan waarschijnlijk met iets als 'Ydm' als parameter.
Jij hebt nodig:
date, en dan waarschijnlijk met iets als 'Ydm' als parameter.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$cafezaalagenda = mysql_query("
SELECT * FROM cafezaalagenda
WHERE concat(datumjaar,datummaand,datumdag) >= '".time()."'
ORDER BY concat(datumjaar,datummaand,datumdag)
LIMIT 7") or die (MySQL_Error());
?>
$cafezaalagenda = mysql_query("
SELECT * FROM cafezaalagenda
WHERE concat(datumjaar,datummaand,datumdag) >= '".time()."'
ORDER BY concat(datumjaar,datummaand,datumdag)
LIMIT 7") or die (MySQL_Error());
?>
vergelijken met dit:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$cafezaalagenda = mysql_query("
SELECT * FROM cafezaalagenda
WHERE datum >= '".time()."'
ORDER BY datum
LIMIT 7") or die (MySQL_Error());
?>
$cafezaalagenda = mysql_query("
SELECT * FROM cafezaalagenda
WHERE datum >= '".time()."'
ORDER BY datum
LIMIT 7") or die (MySQL_Error());
?>
zorgt ervoor dat dit samen wordt gepakt, en dat het zeg maar 1 'datum' wordt, waarmee je in dit geval kunt gaan vergelijken met time()
Maar het probleem is dus nog niet opgelost?
edit: kga nu de oplossing van jelmer even proberen!
Gewijzigd op 01/01/1970 01:00:00 door Davy Jansen
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$sql = 'SELECT * FROM table WHERE UNIX_TIMESTAMP(field) > ' . time() . ' LIMIT 7';
?>
$sql = 'SELECT * FROM table WHERE UNIX_TIMESTAMP(field) > ' . time() . ' LIMIT 7';
?>
SELECT agendapunt
FROM tabelnaam
WHERE datum >= CURRENT_DATE()
ORDER BY datum ASC
LIMIT 7
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
SELECT agendapunt
FROM tabelnaam
WHERE concat(datumjaar,datummaand,datumdag)
>= CURRENT_DATE()
ORDER BY datum ASC
LIMIT 7
dan heb ik toch hetzelfde als jou, jan koehoorn?
Of zal dat niet werken?
ik denk het niet, maar je kan het proberen...
die plakt dus alles aan elkaar.
wat geeft CURRENT_DATE() voor een output:
zo: 20060927
of zo: 27092006
Dan zou het toch op de een of andere zo wel moeten lukken, of heb ik hetnu mis?
edit: ik heb het nu zo:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$cafezaalagenda = mysql_query("
SELECT * FROM cafezaalagenda
WHERE concat(datumjaar,datummaand,datumdag)
>= CURRENT_DATE()
ORDER BY concat(datumjaar,datummaand,datumdag)
LIMIT 7") or die (MySQL_Error());
?>
$cafezaalagenda = mysql_query("
SELECT * FROM cafezaalagenda
WHERE concat(datumjaar,datummaand,datumdag)
>= CURRENT_DATE()
ORDER BY concat(datumjaar,datummaand,datumdag)
LIMIT 7") or die (MySQL_Error());
?>
maar het werkt dus toch niet? is er geen andere mogelijkheid, dan dat ik allemaal om ga zetten naar date??
Gewijzigd op 01/01/1970 01:00:00 door Davy Jansen
Chupskie:
ik kan dan toch nu ook gewoon dit doen:
SELECT agendapunt
FROM tabelnaam
WHERE concat(datumjaar,datummaand,datumdag)
>= CURRENT_DATE()
ORDER BY datum ASC
LIMIT 7
dan heb ik toch hetzelfde als jou, jan koehoorn?
Of zal dat niet werken?
SELECT agendapunt
FROM tabelnaam
WHERE concat(datumjaar,datummaand,datumdag)
>= CURRENT_DATE()
ORDER BY datum ASC
LIMIT 7
dan heb ik toch hetzelfde als jou, jan koehoorn?
Of zal dat niet werken?
Nee, want CURRENT_DATE() geeft als format yyyy-mm-dd
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$cafezaalagenda = mysql_query("
SELECT * FROM cafezaalagenda
WHERE concat(datumjaar,'-',datummaand,'-',datumdag)
>= CURRENT_DATE()
ORDER BY concat(datumjaar,datummaand,datumdag)
LIMIT 7") or die (MySQL_Error());
?>
$cafezaalagenda = mysql_query("
SELECT * FROM cafezaalagenda
WHERE concat(datumjaar,'-',datummaand,'-',datumdag)
>= CURRENT_DATE()
ORDER BY concat(datumjaar,datummaand,datumdag)
LIMIT 7") or die (MySQL_Error());
?>
zou nog kunnen werken, maar het is netter om je datums in DATE velden op te slaan
Dat was hem jan koehoorn, ik dacht al dat het zo toch zou werken, maar ik wist niet wat CURRENT_DATE() voor een format gaf? Door de streepjes toe te voegen, herkende hij hem wel, en kon er dus wel vergeleken worden.
Het zal niet de beste oplossing zijn, maar het werkt nu voor nu even perfect. Ik zal later alles toch om moeten zetten naar date, maar dat zien we dan wel verder!
Probleem opgelost :)
THANKS @ IEDEREEN :P