EU datum
Ik wil het datumformaat omzetten van yyyy-mm-dd naar dd-mm-yyyy (van database).
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$query = mysql_query ('select date from test ') ;
?>
<table>
<thead>
<tr>
<th>Dag</th>
</tr>
</thead>
<tbody>
<?php
while ($rows = mysql_fetch_assoc($query)) {
echo '<tr>
<td>'. $rows ['date("d-F-Y ", strtotime($rows["date"])).' ] .'</td>
</tr>';
} ?>
</tbody>
</table>
$query = mysql_query ('select date from test ') ;
?>
<table>
<thead>
<tr>
<th>Dag</th>
</tr>
</thead>
<tbody>
<?php
while ($rows = mysql_fetch_assoc($query)) {
echo '<tr>
<td>'. $rows ['date("d-F-Y ", strtotime($rows["date"])).' ] .'</td>
</tr>';
} ?>
</tbody>
</table>
Ik krijg nu geen output , iemand een idee of andere oplossing ?
Dit werkt maar uiteraard geen omzetten naar EU datum formaat.
Bij voorbaat dank.
Toevoeging op 19/10/2014 12:47:47:
of met date_format() in je query (date_format is dan een mysql functie)
Parse error: syntax error, unexpected '(', expecting ',' or ';'
date_format:
$query = mysql_query ('select DATE_FORMAT(date,'%d-%m-%Y') from test ') ;
Hier ga ik ook mee de fout in ,kan het alleen niet ontdekken.
Gewijzigd op 19/10/2014 13:13:55 door Pierre Web
Code (php)
1
2
3
4
5
2
3
4
5
<?php
echo '<tr>
<td>'. (new DateTime($rows['date']))->format('d-F-Y') . '</td></tr>';
?>
echo '<tr>
<td>'. (new DateTime($rows['date']))->format('d-F-Y') . '</td></tr>';
?>
en in je query is het handig om een alias te gebruiken:
SELECT DATE_FORMAT(date, '%d-%m-%Y') as formatdatum FROM test
en dan $row['formatdatum'] gebruiken in php.
Maar dat heeft als nadeel, dat je als je de datum in stukjes nodig hebt, je steeds de query moet aanpassen, terwijl je met format() ook steeds een ander stuk van de datum op kunt halen.
Bijv eerst de datum en een stukje verder in je layout de tijd.
En dat zonder dat je steeds de query moet aanpassen.
Ik blijf maar foutmeldingen houden
Parse error: syntax error, unexpected T_OBJECT_OPERATOR, expecting ',' or '
Ook wat date_formaat betreft;
Parse error: syntax error, unexpected '%' in....
Code (php)
1
$query = mysql_query ('SELECT DATE_FORMAT(date, '%d-%m-%Y') as formatdatum FROM test ') ;
Toevoeging op 19/10/2014 14:27:57:
$query = mysql_query ('SELECT DATE_FORMAT(date, "%d-%m-%Y") as formatdatum FROM test ') ;
Update:
Met dubbele aanhalingstekens werkt het wel. "%d-%m-%Y" '%d-%m-%Y'
al wordt het overal met enkele geschreven.
Gewijzigd op 19/10/2014 14:35:20 door Pierre Web
Pierre Web op 19/10/2014 13:37:16:
Update:
Met dubbele aanhalingstekens werkt het wel. "%d-%m-%Y" '%d-%m-%Y'
al wordt het overal met enkele geschreven.
Met dubbele aanhalingstekens werkt het wel. "%d-%m-%Y" '%d-%m-%Y'
al wordt het overal met enkele geschreven.
Maar dan wordt om de query " geschreven en niet ' ;-)
Zorg dat je de basis begrijpt. Wat je deed was je query beginnen met een '
Bij de volgende ' "denkt" het script dan dat je query is afgelopen en verwacht daarna geen %. Gevolg is een foutmelding.
Hoe zou de query rbij jou uitzien dan? Ik heb div. opties geprobeerd.
Code (php)
1
2
2
<?php
$query = mysql_query("SELECT DATE_FORMAT(date, '%d-%m-%Y') as formatdatum FROM test");
$query = mysql_query("SELECT DATE_FORMAT(date, '%d-%m-%Y') as formatdatum FROM test");
Gewijzigd op 19/10/2014 23:11:44 door Victor -
Ja dat is leuk met zo een query en in wanneer je niet meer wilt rekenen met een datum prima, maar zodra je toch nog een actie op de datum wilt ondernemen dan is dit weer niet echt handig.
Mogelijk werkt het wel met
Code (php)
Moet je wel een begje recente versie van php hebben
http://www.w3schools.com/sql/func_date_format.asp
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
Vaak staan de query's niet direct naast de plek waar je iets nodig hebt.
Bijvoorbeeld, je hebt een script met een webshop. Daarbij heb je vaak een lijst met orders nodig: voor de klant, voor de inpakafdeling, voor de administratie.
Dat is steeds bijna dezelfde query, dus die zet je dan op 1 plek neer. Dat heeft als voordeel, dat als je een kleinigheid in de tabel aanpast, je niet in 432 scripts moet zoeken, waar de query ook moet worden aangepast.
Maar dat betekent ook iets voor je datum:
je kunt niet zeggen: doe de datum altijd in formaat d-F-Y, want misschien heb je de ene keer inderdaad een datum met "Juni" nodig, maar de andere keer met "June"
en op een ander scherm heb je het jaartal er niet bij nodig (omdat die al in een kopje staat?)
Dan is het gemakkelijker om gewoon steeds "2014-10-20 10:14:04" terug te geven.
Dan blijft de query steeds bruikbaar, en pas op het moment dat je iets in je template schrijft, gebruik je de format() van php.
Verder ,,is het mogelijk de waarde van het weeknummer (hier dus 44 )te kunnen selecteren
via een select menu of iets in die geest , nu wordt het wat onoverzichtelijk omdat de data van alle weken wordt getoond.
Verkort voorbeeld:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<select id="select1">
<option value="">Selecteer weeknummer</option>
<option value="41">41</option>
<option value="42">42</option>
<option value="43">43</option>
<option value="43">44</option>
</select>
Gewijzigd op 20/10/2014 18:28:33 door Pierre Web
Waarbij je even moet opletten dat je de juiste definitie van week-1 hebt:
is week 1 de week waarin 1 januari valt?
of de week met minimaal 4 dagen in het nieuwe jaar?
of nog wat anders.
Daarin verschillen europeanen en amerikanen wel eens van mening, met gevolg dat er wel eens een verschil zit tussen het weeknummer
<select id="select1">
<option value="">Selecteer weeknummer</option>
<option value="41">41</option>
<option value="42">42</option>
<option value="43">43</option>
<option value="43">44</option>
</select>
Ik wil dus de week kunnen selecteren
Anders is het gewoon $_POST['naam van select'] ipv 44 gebruiken
Ik wil dus een weeknummer kunnen kiezen met een menu of iest in die geest zodat alleen de gekozen week xx wordt weergeven.
Ik kan natuurlijk voor elk weeknummer een aparte pagina maken , maar zoek een beter alternatief.
Kun je het wat meer toelichten?
Gewijzigd op 20/10/2014 20:33:11 door Pierre Web
en dan in je script:
Uit de datum volgt al welk weeknummer het is. Dat hoef je dus niet nog een keer op te slaan.
Ik zie ook nog een kolom "tijd". Dan denk ik, dat de kolom date en tijd samen best in een kolom van het type datetime samengevoegd kunnen worden.
ingekorte query:
$query = "select WHERE week_num = 44"
Nou wordt alle data van week 44 getoond
Ik wil kunnen kiezen via een selectbox of menu ik wil 44 dus veranderen in bijv, 45 of 46 enz
ik wil dus gewoon het getal 44 veranderen , ff niks met datums enz.
Gewijzigd op 20/10/2014 20:56:52 door Pierre Web