[GastForen Programmierung/Entwicklung PHP und MySQL Zahl als Monat "zurückschreiben"

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Zahl als Monat "zurückschreiben"

macmac
Beiträge gesamt: 389

2. Aug 2015, 15:06
Beitrag # 1 von 8
Bewertung:
(6879 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Grüsst euch
ich kann folgendes Problem nicht lösen:
Ich gebe den Monatnamen als Zahl in die mysql DB ein (01-12). Dies, um eine Sortierung zu veranlassen bei der Ausgabe (2015-02-28), das heisst also dass in der Zelle "monat" 02 steht.
Bei der Ausgabe möchte ich Dienstag, 28. Februar 2015 ausgeben, das ist lesefreundlicher (also quasi eine Rückformulierung erstellen).
Das ging bisher, aber nun wurde mit der Einführung mysqli die Syntax geändert und ich kann diese Umformulierung nicht mehr herbeiführen, also:

"SELECT ... monat,...";
....
echo "$row->monat";

Das klappt, aber nun möchte ich eine if-Schlaufe einfügen:

if $row->monat IST 02 schreibe "Februar"

Nur mit der neuen Syntax ($row->monat) komme ich hier nicht mehr weiter etwa:

if ($row->monat) == "02" { echo "Ferbruar";}
elseif .....

Ich weiss, dass es völlig falsch ist, aber bspw. Zellen unter bestimmten Bedingungen umzuschreiben bei der Ausgabe finde ich nicht, sondern nur Ausgaben unter bestimmten Bedingungen.
So könnte ich auch mal eingeben, dass wenn "Herr" in einer Zelle steht, ich bei der Ausgabe "Sehr geehrter Herr" umformulieren möchte...

Wie muss ich mit der neuen Schreibweise diese if-Abfrage korrekt schreiben?


Besten Dank für die Hilfe.
| -------------------------------------------------------------- |
X

Zahl als Monat "zurückschreiben"

MurphysLaw
Beiträge gesamt: 588

3. Aug 2015, 11:21
Beitrag # 2 von 8
Beitrag ID: #541702
Bewertung:
(6798 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also ich würd's in etwa so machen:
Code
$monate = array("dummy", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember); 

echo(monate[$row->monat]);


;-)

________________________________________

Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: Das ist technisch unmöglich! (Sir Peter Ustinov)


als Antwort auf: [#541690]

Zahl als Monat "zurückschreiben"

Intermedia
Beiträge gesamt: 1287

4. Aug 2015, 06:35
Beitrag # 3 von 8
Beitrag ID: #541735
Bewertung:
(6751 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

zunächst mal hierzu :
Zitat if-Schlaufe

http://www.if-schleife.de/

Mach ein Array in dieser Form:

Code
$monat = Array("01"=>"Januar","02"=>"Februar"); 

echo $monat['02'];


oder das hier: http://php.net/...ime.formats.date.php

Bei der Anrede ist es das gleiche Prinzip mit dem Array.


Gruß Sven


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft


als Antwort auf: [#541690]

Zahl als Monat "zurückschreiben"

macmac
Beiträge gesamt: 389

4. Aug 2015, 07:39
Beitrag # 4 von 8
Beitrag ID: #541738
Bewertung:
(6740 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Euch besten Dank, ich habe beide Lösungen versucht, komme aber nicht zum Ziel.

Es liegt an der Schreibweise, die ich nicht hinkriege:

Die Spalte in der Tabelle heisst 'monat'

in der alten Schreibeweise klappte diese Abfrage (!!) ohne Murren

if ($row[monat]=="01") echo" Januar";
elseif ($row[monat]=="02") echo" Februar ";
usw.

So erhielt ich das lesbare Datum, 03. Januar 2015

Wende ich das in der neuen Ausgabe-Schreibweise an

echo "$row->monat";

folgt die Fehlermeldung

Use of undefined constant monat - assumed 'monat' in ..... on line 103

Ein $monat habe ich doch nirgends, folglich kann ich die vorgeschlagenen Lösungen nicht anwenden – ich meine, dass doch die Spalte 'monat' als Variable geschrieben werden muss. Aber eben wie??
| -------------------------------------------------------------- |


als Antwort auf: [#541735]

Zahl als Monat "zurückschreiben"

MurphysLaw
Beiträge gesamt: 588

4. Aug 2015, 08:06
Beitrag # 5 von 8
Beitrag ID: #541743
Bewertung:
(6733 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Eigentlich müsste es ja ohnehin so heißen:
Code
echo($row['monat']) 


Funzt denn das?

________________________________________

Die letzte Stimme, die man hört, bevor die Welt explodiert, wird die Stimme eines Experten sein, der sagt: Das ist technisch unmöglich! (Sir Peter Ustinov)


als Antwort auf: [#541738]

Zahl als Monat "zurückschreiben"

Intermedia
Beiträge gesamt: 1287

4. Aug 2015, 09:01
Beitrag # 6 von 8
Beitrag ID: #541750
Bewertung:
(6717 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ähhhmmmmm... ich glaube dir fehlen die absoluten Grundlagen.

so wird das nichts.
Code
echo "$row->monat"; 


wenn dann schon so:
Code
echo $row->monat; 

aber ich bezweifel das du den Inhalt als Objekt hast, entsprechend deiner
mageren Infos denke ich mal das es so aussehen muß:

Code
echo $row['monat']; 


da der Wert in einem Array steht.

Antwort auf: Ein $monat habe ich doch nirgends


genau aus diesem Grund hab ich dir ja das Beispiel gemacht.

Ich mach mal einen Blindflug (mit meinem Ansatz), dann könnte es in etwa so funktionieren:

Code
echo $monat[$row['monat']] 



Gruß Sven


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft


als Antwort auf: [#541738]

Zahl als Monat "zurückschreiben"

macmac
Beiträge gesamt: 389

4. Aug 2015, 09:12
Beitrag # 7 von 8
Beitrag ID: #541752
Bewertung:
(6709 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja Sven, mir fehlen die Grundlagen, ich bin absoluter Autodidakt... tut mir leid.

Aber ich habe die Lösung (wie immer: früher oder viel später als Profis) gefunden:

"SELECT monat..." // dann die ganze while Schleife mit den Textteilen aus der DB

while... etc. {

$monat = ($row->monat); // DA lag der Hund, die Formulierung ist so nun korrekt

if ($monat=="01") echo" Januar";
elseif ($monat=="02") echo" Februar ";
usw. bis Dezember
}

Nun klappts: Samstag, 02. Februar 2015.

Nun könnte ich noch das 02 durch 2 ersetzen.

Die Inputs haben die Lösung gebracht.

Danke dennoch an alle.

Macmac
| -------------------------------------------------------------- |


als Antwort auf: [#541750]
(Dieser Beitrag wurde von macmac am 4. Aug 2015, 09:17 geändert)

Zahl als Monat "zurückschreiben"

Intermedia
Beiträge gesamt: 1287

4. Aug 2015, 09:30
Beitrag # 8 von 8
Beitrag ID: #541754
Bewertung:
(6693 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mit deinen 12 Bedinungen geht das natürlich.

Bei meiner Methode kannst du das in 2 Zeilen erledigen.

Gruß Sven


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft


als Antwort auf: [#541752]
X

Aktuell

PDF / Print
PDF-XCange_300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
09.09.2021 - 17.12.2021

Digicomp Academy, Zürich
Donnerstag, 09. Sept. 2021, 13.00 Uhr - Freitag, 17. Dez. 2021, 19.00 Uhr

Lehrgang

Steigen Sie in die Welt des Publishings ein und erlangen Sie die Zertifizierung von Publishing NETWORK. Lernen Sie in diesem Lehrgang Druckmedien professionell zu erarbeiten, druckfertige PDFs zu erstellen und CI/CD-Vorgaben umzusetzen.

Preis: 6'300.– zzgl. 7.7% MWST
Dauer: 18 Tage(ca. 126 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt.

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberater AT digicomp DOT ch