Hallo,

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

 <?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 ?

<td>'. $rows['date'] .'</td> 

Dit werkt maar uiteraard geen omzetten naar EU datum formaat.

Bij voorbaat dank.
<?php echo (new DateTime($rows['date']))->format('d-F-Y'); ?>

[size=xsmall]Toevoeging op 19/10/2014 12:47:47:[/size]

of met date_format() in je query (date_format is dan een mysql functie)
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.
<?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.
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....

 $query = mysql_query ('SELECT DATE_FORMAT(date, '%d-%m-%Y') as formatdatum FROM test ')  ; 


[size=xsmall]Toevoeging op 19/10/2014 14:27:57:[/size]

$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.
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.
Hoe zou de query rbij jou uitzien dan? Ik heb div. opties geprobeerd.
zo:

<?php
$query = mysql_query("SELECT DATE_FORMAT(date, '%d-%m-%Y') as formatdatum FROM test");
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.
Ik zie mijn eerdere post er niet meer bij staan. Kennelijk iets misgegaan.

Mogelijk werkt het wel met
<?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

Reageren