[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: 394

2. Aug 2015, 17:06
Beitrag # 1 von 8
Bewertung:
(9015 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, 13:21
Beitrag # 2 von 8
Beitrag ID: #541702
Bewertung:
(8934 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]);


;-)


als Antwort auf: [#541690]

Zahl als Monat "zurückschreiben"

Intermedia
Beiträge gesamt: 1287

4. Aug 2015, 08:35
Beitrag # 3 von 8
Beitrag ID: #541735
Bewertung:
(8887 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


als Antwort auf: [#541690]

Zahl als Monat "zurückschreiben"

macmac
Beiträge gesamt: 394

4. Aug 2015, 09:39
Beitrag # 4 von 8
Beitrag ID: #541738
Bewertung:
(8876 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, 10:06
Beitrag # 5 von 8
Beitrag ID: #541743
Bewertung:
(8869 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Eigentlich müsste es ja ohnehin so heißen:
Code
echo($row['monat']) 


Funzt denn das?


als Antwort auf: [#541738]

Zahl als Monat "zurückschreiben"

Intermedia
Beiträge gesamt: 1287

4. Aug 2015, 11:01
Beitrag # 6 von 8
Beitrag ID: #541750
Bewertung:
(8853 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


als Antwort auf: [#541738]

Zahl als Monat "zurückschreiben"

macmac
Beiträge gesamt: 394

4. Aug 2015, 11:12
Beitrag # 7 von 8
Beitrag ID: #541752
Bewertung:
(8845 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, 11:17 geändert)

Zahl als Monat "zurückschreiben"

Intermedia
Beiträge gesamt: 1287

4. Aug 2015, 11:30
Beitrag # 8 von 8
Beitrag ID: #541754
Bewertung:
(8829 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


als Antwort auf: [#541752]
X

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
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!