2009-10-19 4 views
0

J'ai une base de données postgres avec une table appelée workorders. Dans c'est une colonne appelée date_out où la date est enregistrée comme 2009-09-23. Je veux trier ces données de table dans une page de php basée sur une plage de dates d'utilisateurs, c.-à-d. Trier la table par date début 2009-09-01 fin 2009-09-31. C'est pour un package de comptes que je crée pour mon entreprise. Y at-il de toute façon je peux le faire. Je peux me connecter à ma base de données mais je ne sais pas comment trier les données. Puis-je également limiter le nombre de vues à 15 lignes, puis à la page suivante? Merci à tous ceux qui peuvent m'aider.trier les données de table postgres dans php à travers le tableau

Répondre

2

Je ne sais pas pourquoi vous auriez besoin PHP puisque c'est un travail qui postgres peut facilement gérer:

SELECT 
    visitdate 
FROM 
    public.statistics 
WHERE 
    visitdate 
     between date '2009-10-19' and date '2009-10-20' 
ORDER BY 
    visitdate 
OFFSET 2 
LIMIT 3; 
+0

Merci. J'en ai besoin en php car mon programme fonctionne à travers mon serveur apache afin que je puisse y accéder où que j'aille. Comme je l'ai dit, ma connaissance sur postgres est très petite. comment puis-je implémenter votre suggestion en PHP? je vous remercie – russell

+0

Je ne suis pas un programmeur PHP, mais je pense que vous pouvez commencer avec quelque chose comme ça: http://www.designmagick.com/article/10/Starting-Out/Retrieving-Data-from-your- base de données – p3t0r

0

Je suggère de commander les lignes via SQL (clause ORDER BY). Ce sera le moyen le plus efficace, surtout si la colonne date_out est indexée.

+0

$ date = $ _POST ['date']; $ query = "SÉLECTIONNER * from workorders WHERE fermé = 'Y' ORDER BY date_out '$ date'"; – russell

+0

Ceci est mon code de tri. J'ai une autre page qui demande une date et l'affiche sur cette page. Quand je l'exécute, il indique ### ERREUR: constante non-entière dans ORDER BY dans /var/www/company/accounts/sales.php à la ligne 31 – russell

+0

Je suis un débutant complet chez postgres. Désolé;) – russell

0

Alors que vous devriez vraiment le faire via SQL, il devrait se traduire php de strtotime à un horodatage vous pouvez utiliser pour la comparaison basée sur des entiers.

Questions connexes