2009-08-07 8 views
3

Cela peut sembler une question très simple pour beaucoup d'entre vous, mais je semble avoir du mal à obtenir une date_format de base pour travailler avec mon instruction mySQL et ensuite pour afficher en utilisant php. Voici le code que j'ai actuellement:Obtenir mySQL date_format à afficher en PHP

$result = mysql_query("SELECT *, DATE_FORMAT('timestamp', '%W %D %M %Y') as date FROM articleDB WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC LIMIT 8"); 

ensuite essayer de l'afficher à l'aide:

echo ' Posted: '.$row['timestamp'].''; 

Tout ce que je veux est de formater la date d'un horodatage myAdmin PHP au format que je veux.

Vive

Répondre

7

Utilisez les apostrophes inverses (`` ) or nothing at all instead of single-quotes ( '`) autour de votre champ dans votre requête:

$result = mysql_query("SELECT *, DATE_FORMAT(`timestamp`, '%W %D %M %Y') as date FROM articleDB WHERE userID='".$_SESSION["**"]."' ORDER BY timestamp DESC LIMIT 8"); 

contre-apostrophes (` `) creates a reference to a table member, single-quotes creates a string ('. ). You were basically trying to DATE_FORMAT the string « timestamp'` au lieu du champ

également , puisque vous utilisez as pour créer un alias de champ, vous voulez vous référer à ce champ en utilisant l'alias lors de la sortie:

echo ' Posted: '.$row['date']; 
2

vous devez afficher la colonne « date » que vous calculez/format dans l'instruction select, la colonne d'horodatage contient la valeur de la date d'origine non formatée.

echo ' Posted: '.$row['date']; 
0

depuis dans votre requête SQL vous définissez la date de mise en forme as date vous y accédez par $row['date'].

Questions connexes