• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datum aus der DB abfragen

larose

Mitglied
Hallo,

Habe eine ziemlich doofe Frage.

In meiner DB habe ich Tabelle mit verschiedenen Spalte. Eine davon heißt time mit dem Typ Datetime.

jetzt versuche ich dieses Datum auszulesen. habe folgendes versucht:

PHP:
$sql = "SELECT time
    from ..... ";

$datum = DATE_FORMAT(strtotime($sql),'%j.%n.%y - %H:%i:%s');

echo " letztes mal war es am:  <B> $datum </B> ";

Dann bekomme ich diesen Fehler:
Warning: date_format() expects parameter 1 to be DateTimeInterface, boolean given in ...on line 11

wenn ich dann anstatt "DATE_FORMAT" date verwende,


PHP:
$datum = date('j.n.y - H:i:s , , strtotime($sql)');

bekomme ich folgende Antwort:
... am 21.5.14 - 12:00:38 , 3831Wed, 21 May 2014 12:00:38 +0200312014310005Europe/Berlin($38qWednesday)
also das heutige Datum.


Klar wenn ich strtotime($SQL) weglasse gibt er mir nur den ersten Teil der Antwort. strtotime — Wandelt ein beliebiges in englischer Textform angegebenes Datum in einen UNIX-Zeitstempel (Timestamp) um.ich glaube ich brauche ihn nicht..

Wie bekomme ich die richtige Uhrzeit die ich in meiner DB gespeichert habe?
 
Werbung:
PHP:
$query = "SELECT DATE_FORMAT(`time`, '%d.%m.%Y - %H:%i:%s') as datum from `tabelle`";
 
Seid bitte nicht genervt von meinen doofen Fragen. Ich lerne dabei.

was bedeutet es eigentlich diese Verweisung
PHP:
$query = "... as datum ...";

Kann ich es direkt als Ergebnis benutzen. Natürlich muss ich erstmal DB verbindlung erstellen.

Code:
$result = $conn->query($query);
ich kann zwar kein
Code:
echo"...am $Datum"
verwenden, da $Datum eine "Undefined variable" ist.

habe gde versucht mit echo"...am $result", aber bekomme folgendes

Catchable fatal error: Object of class mysqli_result could not be converted to string.
 
Werbung:
Danke.
habe folgendes,
PHP:
$query = "SELECT DATE_FORMAT(`time`, '%d.%m.%Y - %H:%i:%s') as datum from `tabelle`";
$result = $conn->query($query);
 while ($row = $result->fetch_assoc()) 
 {
 $datum = $result->datum;
 echo " ...am <B> $datum </B> "; 
 }

dann folgende Fehler:
Notice: Undefined property: mysqli_result::$datum in

Sonst so habe ich immer mit Select gearbeitet. natuerlich ohne "AS"
 
Ich sag' mal so: nochmal auf den Link zur Doku klicken und mal genau die Beispiele beachten.
Wo stecken denn die Werte aus der DB drin? ;)
 
Werbung:
Ich bitte noch mal um Hilfe. ich glaube ich werde verrück.

Hatte schon ein Problem bei meiner DB. Habe es geändert und eine JOINT verwendet.
Das Beispiel 3 aus der DOKU ( Beispiel #3 A mysqli_result example comparing iterator usage) passt genau zu meiner Wahl. Dennoch zeigt er immer Fehler: :(

So sieht jetzt meine Code aus:

PHP:
    foreach($conn->query('SELECT DATE_FORMAT(Table2.time, '%d.%m.%Y - %H:%i:%s')
                    from Table1,Table2
                        where Table1.name = '$valid_user'
                            and Table1.nr = Table2.nr')as $row)
                           
                            {
                                printf("'%s'", $row['Table2.time']);

                            }

Parse error: syntax error, unexpected '%' in ....
 
Ich bitte noch mal um Hilfe. ich glaube ich werde verrück.

Hatte schon ein Problem bei meiner DB. Habe es geändert und eine JOINT verwendet.
Das Beispiel 3 aus der DOKU ( Beispiel #3 A mysqli_result example comparing iterator usage) passt genau zu meiner Wahl. Dennoch zeigt er immer Fehler: :(

So sieht jetzt meine Code aus:

PHP:
    foreach($conn->query('SELECT DATE_FORMAT(Table2.time, '%d.%m.%Y - %H:%i:%s')
                    from Table1,Table2
                        where Table1.name = '$valid_user'
                            and Table1.nr = Table2.nr')as $row)
                         
                            {
                                printf("'%s'", $row['Table2.time']);

                            }

Parse error: syntax error, unexpected '%' in ....

Wenn du Tabellen 'joinst' werden beide Tabellen zusammengefügt. Deshalb nur 'time', nicht 'Tabelle2.time'
 
Wenn du Tabellen 'joinst' werden beide Tabellen zusammengefügt. Deshalb nur 'time', nicht 'Tabelle2.time'
Das ist das kleinste Problem, der ganze Quellcode ist Schrott. Da werden ja ' wahllos verteilt, as $row ist auch Quatsch und eine Schleife mit dem Result von query ist ebenso Quatsch.

@larose
Versuch' dich doch erstmal an einfachen Selects, bevor du sowas schreibst. Du hast nämlich immer noch nicht begriffen, wie man Daten aus der DB liest.
 
Werbung:
Ich sag' mal so: nochmal auf den Link zur Doku klicken und mal genau die Beispiele beachten.
Wo stecken denn die Werte aus der DB drin? ;)


Danke dir @bdt600 . Ich hätte einfach genau lesen müssen, was du geschrieben hast und was in der DOKU steh. ich wäre nach ein paar Sekunde fertig gewesen mit dem Fatum. bin echt doof :(

Habe es jetzt hinbekommen :)
PHP:
$query = "SELECT DATE_FORMAT(time, '%d.%m.%Y - %H:%i:%s') as datum from `tabelle`";
$result = $conn->query($query);
while ($row = $result->fetch_assoc())
{
echo " ...am <B> $row[datum] </B> ";
}
 
Zurück
Oben