Ongewenste sortering na gebruik van DATE_FORMAT

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Allan de Bruin

Allan de Bruin

06/10/2013 19:30:50
Quote Anchor link
Allen,

Via de onderstaande query wil ik gegevens gaan ophalen en weergegeven.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT agendaid, agendaitem, agenda_soort_activiteit, agendaintro, datum_vanaf, datum_tot_en_met, tijd_vanaf, status, besloten_activiteit, aanmelding_vereist FROM tbl_agenda WHERE STATUS = '2' AND datum_vanaf >= CURDATE() ORDER BY datum_vanaf ASC


De velden "datum_vanaf " en "datum_tot_en_met" zijn DATE velden.

Daar komt de datum via een invoerpagina in als jaar-maand-dag --> 0000-00-00

Om de datum mooi weer te geven gebruik ik:

DATE_FORMAT(datum_vanaf, '%d-%m-%Y')
DATE_FORMAT(datum_tot_en_met, '%d-%m-%Y')

Nu komt het vreemde:
Als ik de DATE_FORMAT WEL gebruik is er GEEN sprake van sortering.
Alles gaat dan door elkaar.

Als ik de DATE_FORMAT NIET gebruik is er WEL sprake van sortering.
De datum is weergegeven zoals ik het wil, alleen toch nog door elkaar...

Heeft iemand een idee hoe dat kan?

Toevoeging op 06/10/2013 19:44:16:

Okay, ik heb een oplossing gevonden, misschien zou dit ook het antwoord geweest zijn?

Ik heb in de loop het volgende opgenomen:

$timestamp = strtotime($row['datum_vanaf']);
$newDate = date('d-m-Y', $timestamp);

Dus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?

SELECT agendaid, agendaitem, agenda_soort_activiteit, agendaintro, datum_vanaf, datum_tot_en_met, tijd_vanaf, status, besloten_activiteit, aanmelding_vereist FROM tbl_agenda WHERE STATUS = '2' AND datum_vanaf >= CURDATE() ORDER BY datum_vanaf ASC

do {
$timestamp = strtotime($row['datum_vanaf']);
$newDate = date('d-m-Y', $timestamp);
}
while.....
?>


Resultaat:

- Datum is weergegeven in dd-mm-JJJJ
- Gesorteerd
 
PHP hulp

PHP hulp

18/04/2024 13:30:06
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

06/10/2013 19:47:27
Quote Anchor link
Niks vreemd aan. Je sorteert op de d-m-Y dus 01-10-2013 komt voor 03-01-1966
Het is helemaal niet nodig om een kolom in de select te hebben staan waarop je sorteert, alleen wel even op letten dat de alias niet dezelfde naam heeft als de kolom.
In het kort:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT DATE_FORMAT(datum_vanaf, '%d-%m-%Y) start
FROM tbl_agenda
ORDER BY datum_vanaf
 



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.