Hilfe bei DATE_FORMAT

sharp

Grünschnabel
Halle liebe tutorials.de user.

Ich habe folgendes Problem;
Undzwar möchte ich einen "now()" -Wert aus einer Datenbanktabelle auslesen und umformatieren. Das ganze soll mittels einer While-Schleife ausgegeben werden. Ich habe folgende SQL abfrage geschrieben. Mein Problem ist jedoch, dass die Variable die deklariert werden soll leer ist.

PHP:
 $sql 			= "SELECT DATE_FORMAT('".$row['time'].",'%e.%m.%Y, %H:%i:%s') FROM mankot_news";
 $news_time 		= mysql_query($sql);


Die While-Schleife die sich über dem Codeschnippsel befindet habe ich weggelassen, da ich denke, dass der Fehler sich in diesem Teil des Codes befindet.

Ich freue mich über und bedanke mich für jede Antwort.
 
Zuletzt bearbeitet:
Auf Anhieb sehe ich schon mal, dass da ein ' fehlt, versuch's also mal damit:
PHP:
$sql = "SELECT DATE_FORMAT('".$row['time']."','%e.%m.%Y, %H:%i:%s') FROM mankot_news";

redlama
 
Was ist leer? $sql oder $row? Ansonsten gibt es hier ein paar Threads untendrunter ein ähnliches Problem, hier hättest du auch sehen können, daß deine Syntax falsch ist. Beachte bitte die MySQL-Referenz .
 
Die Variable $news_time ist leer. Entschuldigt den Syntaxfehler hatte ich nicht gesehen. Jedoch wird $news_time nach der Fehlerbehebung mit folgendem Wert belegt: Resource id #42

Welche bedeutung hat das ?
 
Ja, ich habe dein Thread schon gesehen. Jedoch verstehe ich das Problem nicht ganz. Kann die SQL-Abfrage mit dem DATE_FORMAT nicht in den While-Schleife Ausführungsblock? Wie löse ich es denn sonst? Und wieso befindet sich bei dir noch ein "as" ?

Danke schonmal für eure schnellen Antworten.
 
Also das "as Datum" ist dafür da damit du die tabelle mit in deinem fall $row['Datum'] ansprechen kannst.
DATE_FORMAT muss in die SQL Anweisung wo du die Tabelleninhalt abfragst. Also du hast z.B. 3 Spalten in einer Tabelle mit dem Namen Kunde die Spalten heissen ID, Datum, und Name damit du das Datum jetzt formatieren kannst ins deutsche schreibst de das so.
Anstatt

PHP:
$test = mysql_query("SELECT * FROM Kunde"); 
oder
$test = mysql_query("SELECT ID,Datum,Name FROM Kunde");

machst du

PHP:
 $test = mysql_query("SELECT ID, DATE_FORMAT('Datum','%d.%m.%Y') as Datum, Name FROM Kunde");

und wenn de dann das machst

PHP:
$row = mysql_fetch_array($test);

hast de in $row['Datum'] das formatierte Datum stehen könntest dann also

PHP:
echo $row['Datum'];

machen.

Wenn de das "as Datum" weg lässt schreibst du dann anstatt $row['Datum'], $row[0] schreiben
 
Zuletzt bearbeitet:
Vielen Dank, es läuft jetzt einwandfrei. Tut mir leid das du es so ausführlich erläutern musstest Blaubmania, jedoch halte ich das für sinnvoller, als sich Quellcode teile einfach nur vorkauen zulassen. So habe ich das ganze auch verstanden und es bedarf hinsichtlich dieses Themas keiner weiteren Nachfrage mehr.

Danke an alle.
 
Zurück