Komende 7 agendapunten uit het db halen!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Davy Jansen

Davy Jansen

26/08/2006 10:41:00
Quote Anchor link
Wat ik wil is de komende 7 agenda punten weergeven.
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)
PHP script in nieuw venster Selecteer het PHP script
1
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());
?>


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
 
PHP hulp

PHP hulp

17/11/2024 23:24:22
 
Tom Beuckelaere

Tom Beuckelaere

26/08/2006 10:46:00
Quote Anchor link
Mss zal dit beter lukken : date
 
Jelmer -

Jelmer -

26/08/2006 11:02:00
Quote Anchor link
time -- Geef de huidige UNIX timestamp
Jij hebt nodig:
date, en dan waarschijnlijk met iets als 'Ydm' als parameter.
 
Davy Jansen

Davy Jansen

26/08/2006 11:03:00
Quote Anchor link
Ja je kunt dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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());
?>


vergelijken met dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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());
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
concat(datumjaar,datummaand,datumdag)
?>

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
 
Legolas

Legolas

26/08/2006 11:08:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$sql
= 'SELECT * FROM table WHERE UNIX_TIMESTAMP(field) > ' . time() . ' LIMIT 7';

?>
 
Jan Koehoorn

Jan Koehoorn

26/08/2006 11:12:00
Quote Anchor link
Waarom sla je die agendapunten niet gewoon als DATE op? Dan kun je dit doen:

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
 
Davy Jansen

Davy Jansen

26/08/2006 11:15:00
Quote Anchor link
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?
 
Legolas

Legolas

26/08/2006 11:20:00
Quote Anchor link
ik denk het niet, maar je kan het proberen...
 
Davy Jansen

Davy Jansen

26/08/2006 11:21:00
Quote Anchor link
concat maakt er dit van: 20060927
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)
PHP script in nieuw venster Selecteer het PHP script
1
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());
?>

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
 
Jan Koehoorn

Jan Koehoorn

26/08/2006 11:28:00
Quote Anchor link
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?

Nee, want CURRENT_DATE() geeft als format yyyy-mm-dd
 
Jan Koehoorn

Jan Koehoorn

26/08/2006 11:29:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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());
?>

zou nog kunnen werken, maar het is netter om je datums in DATE velden op te slaan
 
Davy Jansen

Davy Jansen

26/08/2006 11:35:00
Quote Anchor link
YES!! :)

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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.