[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:
(6645 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:
(6564 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:
(6517 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:
(6506 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:
(6499 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:
(6483 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:
(6475 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:
(6459 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

Farbmanagement
impressed_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
27.07.2021

Zürich, Birol Isik
Dienstag, 27. Juli 2021, 08.00 - 19.00 Uhr

Webinar

Digitalisierung und KMU's in der Schweiz Leistungsfähig im Zeitalter der Digitalisierung Machine Learning Künstliche Intelligenz CRM Change Management Kommunikation im Betrieb Kommunikation digitale Medien Digitale Vertriebsmodelle

Ja

Organisator: Birol Isik

Kontaktinformation: Birol Isik, E-Mailinfo AT snfa DOT ch

https://www.snfa.ch/fitness-training-schweiz