Question

Cela pourrait sembler une question très simple à beaucoup d'entre vous, mais il me semble avoir du mal à obtenir un date_format de base pour travailler avec ma déclaration mySQL puis à afficher en utilisant php. Voici le code que j'ai actuellement:

$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

Était-ce utile?

La solution

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");

apostrophes inversées ( `` ) creates a reference to a table member, single-quotes creates a string ('). You were basically trying toDATE_FORMATthe string'timestamp'` à la place du champ.

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

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

Autres conseils

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'];

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top