Vraag & Antwoord

Webprogrammeren & scripting

PostgreSQL query: Order by date

2 antwoorden
  • ik ben bezig met het klussen van een aktiviteiten kalender op mijn website, dmv php en een postgresql database. Voor mn site heb ik een form geklust om aktiviteiten toe te voegen, dit werkt allemaal prima. maar dan komt het: als ik de aktiviteiten wil opvragen, dan wil ik dat alle aktiviteiten gesorteerd worden op datum én dat aktiviteiten die al geweest zijn niet meer opgevraagd worden. Dus ben ik op zoek naar een pg_query() die alleen de aktiviteiten weergeeft die nog moeten komen. [code:1:e71e276b79] $nu = date("Y-m-d"); //huidige datum $jaar = date("Y") + 1; $jaar = date($jaar ."-m-d"); //precies een jaar van nu $query = "SELECT * FROM agenda where datum between ". $nu ." and ". $jaar . " ORDER by datum"; //hiermee hoop ik dus dat de query alleen de data retourneert tussen nu en over een jaar [/code:1:e71e276b79]de data die in de database zijn opgeslagen, zijn van hetzelde format als de variabelen $nu en $jaar. Het zou ook kunnen dat php checkt of de datum al geweest is, maar dan krijg je bij een grote database het probleem dat er erg veel gegevens opgevraagd moeten worden. Heeft iemand een tip hoe ik met postgresql kan checken of een datum al geweest is?? bvd
  • Ik ben niet bekend met postgresql, dus de vertaling van de functienamen zal je misschien even moeten opzoeken in de manual. Ik ga er i.i.g. van uit dat postgresql equivalenten voor onderstaande functies heeft. Het volgende is T-SQL code waarin de datum bewerkingen in de database worden uitgevoerd i.p.v. in je php. Daarmee zit je dus niet met het probleem van eventuele conversie cq. formaat conflicten. Functies lijken me wel self-explaining, maar als je meer info nodig hebt dan horen we het wel. [code:1:b74d35565f] SELECT bla FROM tabel WHERE datum BETWEEN getdate() AND dateadd(year, 1, getdate()) ORDER BY datum [/code:1:b74d35565f] Als je overigens alle toekomstige activiteiten (en de activiteiten van vandaag) wil hebben dan kan dat natuurlijk ook. [code:1:b74d35565f] SELECT bla FROM tabel WHERE datum >= getdate() ORDER BY datum [/code:1:b74d35565f]

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.