vraagje over SELECT DATE FORMAT

Status
Niet open voor verdere reacties.

Brugse zot

Gebruiker
Lid geworden
29 feb 2008
Berichten
48
ik probeer een in de datebase opgelagen datum
terug te halen en om te zetten in een nederlandse datum

voorbeeld: yyyy-mm-dd zal dus dd-mm-yyyy moeten worden

nu heb ik dit geprobeerd met
PHP:
 <?php include("config_chris.php");
$resultaat = mysql_query("SELECT  DATE_FORMAT( post_date , '%d %m %Y')
FROM wp_posts ORDER BY post_date DESC LIMIT 0, 1;"); ?>

  <?php     while ($record = mysql_fetch_array($resultaat)){ ?> <?php echo("{$record['post_date']}"); ?> <?php }?>

alleen geeft hij nu dus geen resultaat.
druk gezocht op internet maar ik wordt gek van alle formaten die ze gebruiken
als date() timestamp datetime unix_timestamp
 
Waarom niet het volgende...
Misschien omslachtig, maar het werkt bij mij goed genoeg..

PHP:
<?php 
include("config_chris.php");

$resultaat = mysql_query("SELECT  post_date FROM wp_posts ORDER BY post_date DESC");

while ($record = mysql_fetch_array($resultaat)){ 

$datum = $record['post_date'];
$datum = explode('-', $datum);
$nldatum = $datum[2].'-'.$datum[1].'-'.$datum[0];

echo "{ $nldatum }";

}
?>
 
Laatst bewerkt:
Er zat een fout in..

probeer het nog eens..
(foutmeldingen aanzetten op je server is op dat moment wel prettig)
 
Ik gebruik nu deze functie en dat wekt zeer goed.

<?php include ("config_blablabla.php");

$result = mysql_query ("SELECT DATE_FORMAT(post_date, '%d-%m-%Y %H:%i:%s') AS datum FROM wp_posts ORDER BY post_date DESC
LIMIT 0 ,1") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo "</b>update: <b>" . $row[0];
}
?>

Maar voor een volgend script zit ik met het volgende probleem:
bovenstaande is gebasseerd op de laatste post in de database.

maar ik zou hem willen aanpassen dat hij bij elk bericht (elke row) de datum echo't gekoppeld aan een ID. want nu geeft hij bij elke row dezelfde datum weer.

Hier het script waarin het verwerkt zou moeten worden.

PHP:
<?php 
include("config_prive.php"); 

$resultaat = mysql_query("SELECT * FROM prive".$naam." ORDER BY van DESC;"); 

?> 
 
<table border="0">
  <?php     while ($record = mysql_fetch_array($resultaat)){ ?>
  <tr>
    <th width="144" scope="col"></th>
    <th width="241" scope="col"></th>
  </tr>
  <tr>
    <th width="144" scope="col"></th>
    <th width="241" scope="col"></th>
  </tr>
  <tr>
    <th width="144" scope="col"><div align="left"> Ontvangen op:</div></th>
    <th width="241" scope="col"><div align="left"><?php echo("{$record['date']}"); ?>  
     </div></th>
  </tr>
  <tr>
    <th width="144" scope="col"><div align="left">Verstuurd door:</div></th>
	<th width="241" scope="col"><div align="left"><?php echo("{$record['van']}"); ?></div></th>
    <th width="104" scope="col"></th>
  </tr>
  <tr>
    <td><div align="left">bericht: <?php echo("{$record['bericht']}"); ?></div></td>
    <td><div align="left">
    <td><div align="left"><br />
<br />

<a href="xxx.php?page=verwijderprive&id=<?php echo("{$record['bid']}");?>"><img src="cancel.png" border="0" alt="Dit bericht verwijderen" /></a> <a href="xxx.php?page=priveuit"><img src="arrow_switch.png" border="0" alt="Reageeer op dit bericht" /></a></div></td>
  </tr>
  <?php }?>

hoe los ik dit het beste op?
heb het geprobeerd met $_GET ['id'] maar dat wilde niet werken
 
PHP:
"SELECT DATE_FORMAT(post_date, '%d-%m-%Y %H:%i:%s') AS datum FROM wp_posts ORDER BY post_date DESC
LIMIT 0 ,1"

wordt:

PHP:
$id = $_GET['id'];

"SELECT DATE_FORMAT(post_date, '%d-%m-%Y %H:%i:%s') AS datum FROM wp_posts WHERE id=$id ORDER BY post_date DESC"
 
ik krijg dan de volgende error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY date DESC' at line 1

heb dit al gebrobeerd:

PHP:
WHERE id=".$id." ORDER BY wp_post
; achter DESC gezet

maar dat was geen oplossing.
 
ik heb hem nu zo gemaakt:

PHP:
<?php include ("config_".$naam.".php"); 
	$id = $_GET['id']; 

$result = mysql_query ("SELECT DATE_FORMAT(date, '%d-%m-%Y %H:%i:%s') AS datum FROM prive".$naam." WHERE bid='$id' ORDER BY date DESC;" ) or die(mysql_error()); 
while($row = mysql_fetch_array($result)) { 
  echo  "" . $row[0]; 
} 
?>
nu krijg ik dus geen error meer
maar ook geen resultaat
 
Laatst bewerkt:
FROM prive".$naam."


Je hebt een variabele tabelnaam?
 
ja dat klopt, elk lid heeft een eigen tabel, en een eigen config.

$naam wordt opgehaald uit een inlogsysteem,
 
Klinkt als een fout datamodel, waarom heb je daarvoor gekozen?
 
tja.. het is voor een klein schalige website dus dacht ik hup.. allemaal een tabel
zo kun je nooit de PM lezen van iemand anders, krijg je al berichten te zien als je inlogt
enz enz.. en het werkt ook allemaal zoals ik het wil. alleen die datum niet
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan