Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » PDO Datum Problem    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
mike_64
Mitglied
Neuling


Dabei seit: 28.12.2018
Herkunft: keine Angabe
Posts: 4
     PDO Datum Problem Zitat | Bearbeiten

Hallo in die Runde.

Ich habe zwei Datenbanktabellen mit Kundendaten und will mir für jeden Kunden das Jahr ausgeben lassen, in welchem der Kunde die letzte Rechnung bekommen hat.

Das Rechnungsdatum liegt in der DB als date (YYYY-MM-DD)

Die Abfrage sieht wie folgt aus:

$result_kunden = $pdo->prepare("SELECT * FROM kunden ORDER by kundennr");
$result_kunden->execute();
while($row = $result_kunden->fetch()) {
$kundennr = $row['kundennr'];
echo $kundennr."----------||||----------";

$sth = $pdo->prepare("SELECT datum FROM rechnungsliste WHERE kundennr = $kundennr ORDER BY datum DESC");
$sth->execute();

$oMyDate = $sth->fetch( PDO::FETCH_OBJ )->datum;
echo $oMyDate;
echo "<br>";

}

Das Ergebnis:
00215----------||||----------2021-11-09
00216----------||||----------2013-05-10
00217----------||||----------2018-10-18
00218----------||||----------2014-04-15
00219----------||||----------2014-07-10
00220----------||||----------2020-12-21
00221----------||||----------2017-06-28
00222----------||||----------2021-04-14
00223----------||||----------2016-12-12
00224----------||||----------2018-10-19
00225----------||||----------2019-05-10
00226----------||||----------2020-10-18

Das ist soweit ok, aber ich brauch ja nur das Jahr.
Also dachte ich, ich verwende "format" wie folgt:

$result_kunden = $pdo->prepare("SELECT * FROM kunden ORDER by kundennr");
$result_kunden->execute();
while($row = $result_kunden->fetch()) {
$kundennr = $row['kundennr'];
echo $kundennr."----------||||----------";

$sth = $pdo->prepare("SELECT datum FROM rechnungsliste WHERE kundennr = $kundennr ORDER BY datum DESC");
$sth->execute();

$oMyDate = $sth->fetch( PDO::FETCH_OBJ )->datum;
echo $oMyDate->format("Y");
echo "<br>";

}

Ergebnis:

Fatal error: Uncaught Error: Call to a member function format() on string in testmax.php:33 Stack trace: #0 {main} thrown in testmax.php on line 33


Vielleicht kann mir hier jemand aus dem Wald helfen...
Danke

Mike


20.12.2021, 20:46 Profil | PM | E-Mail  
Andavos
Administrator
Foren-Gott


Dabei seit: 30.11.2003
Herkunft:
Posts: 6298
      Zitat | Bearbeiten

MySQL liefert nur einen String zurück. Den muss man erst in das richtige Format bringen:
https://www.php-einfach.de/mysql-tutorial/datum-und-zeit/#Datum_in_PHP_formatieren_per_DateTime


www.php-einfach.de, PHP lernen leicht gemacht
www.webhosterwissen.de, Webhosting-Vergleich



20.12.2021, 22:39 Profil | PM | E-Mail  
mike_64
Mitglied
Neuling


Dabei seit: 28.12.2018
Herkunft: keine Angabe
Posts: 4
      Zitat | Bearbeiten

Alles klar, danke. Passt.

Schöne Feiertage wünsch ich
Mike


21.12.2021, 07:54 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » PDO Datum Problem   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz