Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

PostgreSQL query: Order by date

CrashingDodo
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

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