EU datum

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Pierre Web

Pierre Web

19/10/2014 12:32:42
Quote Anchor link
Hallo,

Ik wil het datumformaat omzetten van yyyy-mm-dd naar dd-mm-yyyy (van database).

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>


Ik krijg nu geen output , iemand een idee of andere oplossing ?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<td>'. $rows['date'] .'</td>

Dit werkt maar uiteraard geen omzetten naar EU datum formaat.

Bij voorbaat dank.
 
PHP hulp

PHP hulp

29/04/2024 17:49:54
 
Ivo P

Ivo P

19/10/2014 12:47:13
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo (new DateTime($rows['date']))->format('d-F-Y'); ?>


Toevoeging op 19/10/2014 12:47:47:

of met date_format() in je query (date_format is dan een mysql functie)
 
Pierre Web

Pierre Web

19/10/2014 12:57:46
Quote Anchor link
Bedankt , maar hoe pas ik dit toe tussen <td></td> ? krijg melding:

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
 
Ivo P

Ivo P

19/10/2014 13:18:31
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

 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.
 
Pierre Web

Pierre Web

19/10/2014 13:37:16
Quote Anchor link
Wat de php oplossing betreft:
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)
PHP script in nieuw venster Selecteer het PHP script
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
 
Obelix Idefix

Obelix Idefix

19/10/2014 15:48:24
Quote Anchor link
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.

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.
 
Pierre Web

Pierre Web

19/10/2014 15:57:41
Quote Anchor link
Hoe zou de query rbij jou uitzien dan? Ik heb div. opties geprobeerd.
 
Victor -

Victor -

19/10/2014 23:10:43
Quote Anchor link
zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php
$query
= mysql_query("SELECT DATE_FORMAT(date, '%d-%m-%Y') as formatdatum FROM test");
Gewijzigd op 19/10/2014 23:11:44 door Victor -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

20/10/2014 00:15:04
Quote Anchor link
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.
 
Ivo P

Ivo P

20/10/2014 00:25:11
Quote Anchor link
Ik zie mijn eerdere post er niet meer bij staan. Kennelijk iets misgegaan.

Mogelijk werkt het wel met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

 echo '<tr>
    <td>'
;
 Echo  (new DateTime($rows['date']))->format('d-F-Y');
 Echo '</td></tr>';
?>


Moet je wel een begje recente versie van php hebben
 
Peter K

Peter K

20/10/2014 10:08:49
 
Ivo P

Ivo P

20/10/2014 10:15:36
Quote Anchor link
ik had in mijn eerdere post ook nog een opmerking over de nadelen van 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.
 
Pierre Web

Pierre Web

20/10/2014 18:26:56
Quote Anchor link
Bedankt voor jullie antwoorden, hier kan ik weer wat mee, had zelf enkele en dubbele aanhalingstekens gebruikt in script wat ook voor fouten zorgde.

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)
PHP script in nieuw venster Selecteer het PHP script
1
$query = "select id, name, week_num = 44"


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
 
Ivo P

Ivo P

20/10/2014 20:06:05
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
SELECT ......
FROM tabel
WHERE WEEK(datumkolom) = 44 AND YEAR(datumkolom) = 2014


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
 
Pierre Web

Pierre Web

20/10/2014 20:12:50
Quote Anchor link
Ivo bedankt, maar bedoel via een select/menu op de webpagina zelf , zodat ik dus alle data van een bepaalde week te zien krijg.

<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
 
Ivo P

Ivo P

20/10/2014 20:14:10
Quote Anchor link
en dan met javascript een ander deel van de pagina laten zien?

Anders is het gewoon $_POST['naam van select'] ipv 44 gebruiken
 
Pierre Web

Pierre Web

20/10/2014 20:31:18
Quote Anchor link
Ik heb nou een pagina met tabel met naam, email, weeknummer enz

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
 
Ivo P

Ivo P

20/10/2014 20:34:17
Quote Anchor link
<a href="/jepagina.php?week=44&jaar=2014">link naar week 44</a>

en dan in je script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$query
= "
SELECT ......
FROM tabel
WHERE WEEK(datumkolom) = '. (int)$_GET['week'] . "
AND YEAR(datumkolom) = ".(int)$_GET['jaar'];
?>
 
Pierre Web

Pierre Web

20/10/2014 20:46:18
Quote Anchor link
Wellicht handig om mijn query erbij te zetten (weeknummer wordt al in form ingevuld hier dus als 44)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$query = mysql_query( "select DATE_FORMAT(date, '%d-%M-%Y') as formatdatum , id, tijd, name, email,  telefoonnummer, geslacht, aantal_personen, optellen, week_num, message from test WHERE week_num = 44 ORDER BY date ")  ;)
 
Ivo P

Ivo P

20/10/2014 20:48:43
Quote Anchor link
dus als in de kolom date staat "2014-06-30" dan kan er in week_num gewoon 1 staan?

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.
 
Pierre Web

Pierre Web

20/10/2014 20:55:22
Quote Anchor link
Denk ff niet aan datum en tijd e.d maar gewoon aan het getal 44 (waarde van weeknummer)

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
 

Pagina: 1 2 volgende »



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.